Rokon中文文档.doc_第1页
Rokon中文文档.doc_第2页
Rokon中文文档.doc_第3页
Rokon中文文档.doc_第4页
Rokon中文文档.doc_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Rokon引擎主要类介绍com.stickycoding.rokon包:Rokon:提供静态函数和属性属性:circle,Polygon实例,圆形 rectangle,Polygon实例,矩形。Sprite类的polygon属性默认为该矩形函数:getActivity(),获取当前activity实例-RokonActivity:Activity子类,提供基本的引擎参数设置和视图转换onCreate(),入口函数,子类须覆写该函数,在该函数中设置全屏,横(竖)屏,界面尺寸,创建引擎,实例化自定义类createEngine(),创建只包含SurfaceView的引擎createEngine(booleancreateRelativeLayout),参数为true创建包含SurfaceView和RelativeLayout的引擎,RalativeLayout可添加其他Android组件。以下4个函数须在createEngine前调用:forceFullscreen(),全屏forceGameSize(floatwidth, floatheight),设置游戏界面尺寸forceLandscape(),横屏,同时须在AndroidManifest.xml中设置属性android:screenOrientation=landscapeforcePortrait(),竖屏,同时须在AndroidManifest.xml中设置属性android:screenOrientation=portraitonLoadComplete(),引擎创建成功后自动调用,须在子类中覆写,在该函数中初始化要使用到的所有图片Texture,以及调用setScene显示当前的Scenedispose(),退出游戏时自动调用进行垃圾回收,若子类有自定义的类实例,须覆写该函数并在函数体内设置object = nullgetGameHeight(),获取界面高getGameWidth(),获取界面宽getInterface(),获取createEngine中创建的RalativeLayout实例,可向其添加其他组件getScene(),获取当前显示的Scene实例setDrawPriority(intdrawPriority),设置绘图模式,0VBO模式,1一般模式,默认为0,一般不需要自己调用setGameSize(floatwidth, floatheight),设置游戏界面尺寸,和forceGameSize不同之处在于:若参数宽高与实际手机屏幕尺寸不一致,会根据屏幕宽高比重新设置界面宽,并返回宽度值setGraphicsPath(java.lang.Stringpath),设置图片资源根目录路径,游戏图片资源均放在assets/graphics下setScene(Scenescene),设置当前要显示的Scene实例disableBack(),back键不起作用,若自定义了退出按钮事件,则可调用该函数屏蔽back键的退出功能enableBack(),back键起作用,默认值-Scene:场景类,包含若干层(Layer)属性:activity,RokonActivity实例引用构造函数:Scene(),创建默认只有1个层,该层最多包含32个绘制对象的场景Scene(intlayerCount),创建layerCount个层,每个层都最多包含32个绘制对象的场景Scene(intlayerCount, intlayerObjectCount),创建layerCount个层,每个层都最多包含layerObjectCount个绘制对象的场景Scene(intlayerCount, intlayerObjectCount),创建layerCount个层,每个层包含的绘制对象个数由layerObjectCount数组指定抽象函数,须在子类中覆写,覆写的函数体可为空onReady(),在RokonActivity的setScene中自动调用,在该函数中可获取到activity,构造函数中获取activity为空onGameLoop(),游戏逻辑循环,一直都在调用onPause(),游戏暂停时调用,比如来电onResume(),游戏恢复时调用,比如挂断电话重新回到游戏add(GameObjectdrawableObject),添加一个GameObject到第一层(索引号为0)add(intlayerIndex, GameObjectdrawableObject),添加一个GameObject到指定层(索引号)clear(),删除所有绘制对象clearLayer(intindex),删除某层中的所有绘制对象moveLayer(intstartIndex, intendIndex),移动层序switchLayers(intlayer1, intlayer2),互换层序例:初始层序0,1,2.,调用moveLayer(0,2)后,层序变为1,2,0.;调用switchLayer(0,2)后,层序变为2,1,0.getLayer(intindex),根据索引号获取某层实例getWindow(),获取窗体实例getWorld(),获取World实例,box2d使用setBackground(Backgroundbackground),设置界面背景,参数其实为FixedBackground实例(Background的子类)setLayer(intindex, Layerlayer),替换某层setWindow(Windowwindow),设置游戏窗体setWorld(Worldworld),设置box2d世界remove(DrawableObjectdrawableObject),删除某个绘制对象removeWindow(),删除游戏窗体removeWorld(),删除box2d世界onTouch(floatx, floaty, MotionEventevent, intpointerCount, intpointerId) ,游戏区域点击onTouchReal(floatx, floaty, MotionEventevent, intpointerCount, intpointerId),实际屏幕点击isPhysicsPaused(),物理引擎是否暂停pausePhysics(),暂停物理引擎resumePhysics(),恢复物理引擎noPhysics(),不使用物理引擎,默认设置usePhysics(),使用物理引擎,setWorld中会调用stopInvoke(),关闭类外函数调用useInvoke(),启动类外函数调用,在Sprite类中某些动作执行开始和结束时会调用Scene类的函数,函数名参看Sprite类源代码toastLong(java.lang.Stringmessage),显示长消息toastShort(java.lang.Stringmessage),显示短消息invoke(Callbackcallback)invoke(java.lang.StringmethodName)invoke(java.lang.Stringmethod,java.lang.Classparam,java.lang.ObjectparamVal)invoke(java.lang.StringmethodName, java.lang.ObjectparamValues)以上4个函数作用都是调用该类的方法,等同于直接:函数名(参数)的调用方式onFadeEnd(DrawableObject object),绘制对象渐现(失)完后调用,可在子类覆写onMoveEnd(DimensionalObject object),画布对象移动完后调用,可在子类覆写,注:只有调用DimensionalObject的move函数来移动对象,最后运动停止才会调用该方法onEndScene(),转换到另一场景时释放当前场景资源,自动调用,需在子类中覆写该函数以释放自定义类实例-Layer:层,包含在Scene中,所有绘制对象均添加于层中。Layer实例已在Scene有初始化,若需要自定义子类继承Layer,则应调用Scene.setLayer函数设置为自定义层显示构造函数:Layer(SceneparentScene, intmaximumDrawableObjects),创建位于父场景parentScene中,最多包含maximumDrawableObjects个绘制对象的层add(GameObjectdrawableObject),添加一个Gameobject对象clear(),删除层中的所有对象getGameObject(intindex),获取某个绘制对象setDrawOrder(inttype),设置绘图次序类型,一共6种类型,取值0,1,2,3,4,5,默认为0,详见DrawOrder类ignoreWindow(),忽略窗体绘制useWindow(),依赖窗体绘制,默认使用isUsingWindow(),是否依赖窗体-Sprite:精灵类,继承GameObject,该类为一层层继承下来,请熟悉其继承关系!子类包含:LineSprite, PhysicalSprite, PolygonSprite, TextSprite, TiledSprite构造函数:Sprite(floatx, floaty, floatwidth, floatheight),根据坐标和宽高创建精灵onRemove(),精灵被删除时自动调用,子类需覆写该函数,设置类变量为nullonUpdate(),状态属性更新函数,在该函数中改变精灵的位移,旋转角度等accelerate(floatacceleration, floatangle),沿某一角度(弧度为单位)加速运动,该角度相对于y轴accelerate(floatacceleration, floatangle, floatterminalVelocity)沿某一角度(弧度为单位)加速运动,当线速度大于等于terminalVelocity时,以terminalVelocity值匀速运动accelerateX(floataccelerationX),水平方向加速运动accelerateX(floataccelerationX, floatterminalSpeedX),水平方向加速运动,当线速度大于等于terminalSpeedX时,以terminalSpeedX值匀速运动accelerateY(floataccelerationY),垂直方向加速运动accelerateY(floataccelerationY, floatterminalSpeedY) ,垂直方向加速运动,当线速度大于等于terminalSpeedY时,以terminalSpeedY值匀速运动addModifier(Modifiermodifier),添加一个Modifier实例,最多能同时添加8个modifier。Modifier类作用:持续一段时间改变Sprite属性值,需要自定义其子类,在子类中实现函数体。比如alpha值,可呈现闪动效果removeModifier(Modifiermodifier),删除某一个modifierclearModifiers(),删除添加的所有modifiersgetPolygon(),获取精灵的外观形状,一般为矩形getVertex(intindex),获取精灵的某一个顶点坐标,会依据旋转和缩放而改变setPolygon(Polygonpolygon),设置精灵的形状,box2d使用setSpeed(intx, inty),设置水平和垂直方向上的速度(位移)setVelocity(floatvelocity, floatangle),设置沿某一角度方向运动的速度intersects(Spritesprite),碰撞检测,判断是否和其他精灵相交stop(),停止所有运动,旋转和位移moveTo(floatx, floaty, longtime)moveTo(floatx, floaty, longtime, inttype)moveTo(floatx, floaty, longtime, inttype, Callbackcallback)以上3个函数均为设置一段时间内移动到某点,type通常设置为Movement.LINEAR,详见Movement 类;callback可设置运动完后的回调函数,若Scene的useInvoke为true,运动完后则会调用Scene中名为(name)_onMoveToComplete的函数(须在Scene子类中自定义),请参看Sprite源代码!rotateTo(floatangle, intdirection, inttime, inttype)rotateTo(floatangle, intdirec, inttime, inttype, Callbackcallback)以上2个函数为设置一段时间旋转到某个角度,direction为精灵类自定义常量ROTATE_TO_ANTI_CLOCKWISE(逆时针),ROTATE_TO_CLOCKWISE(顺时针),ROTATE_TO_AUTOMATIC(根据当前精灵角度和要旋转至的角度自动判断逆或顺时针旋转);callback可设置旋转完后的回调函数,若Scene的useInvoke为true,运动完后则会调用Scene中名为(name)_onRotateToComplete的函数(须在Scene子类中自定义),请参看Sprite源代码!-GameObject:继承DrawableObject,Sprite的父类isAdded(),是否已添加到场景中isTouchable(),是否接收触摸事件removeTouchable(),设置为不可触摸setTouchable(),设置为可触摸-DrawableObject,继承BasicGameObject,GameObject的父类,不能接收触摸事件animate(intanimationTiles, longframeTime),自定义播放动画帧序列,以frameTime时间间隔一直循环播放animate(intanimationTiles, longframeTime, intloops, booleanreturnToStart),自定义播放动画帧序列,以frameTime时间间隔播放loops次,returnToStart为true表示动画结束显示第一帧animate(intstartTile, intendTile, longframeTime),从startTile帧播放至endTile帧,以frameTime时间间隔一直循环播放animate(intstartTile, intendTile, longframeTime, intloops, booleanreturnToStart),从startTile帧播放至endTile帧,以frameTime时间间隔播放loops次,returnToStart为true表示动画结束显示第一帧fade(floatstartAlpha, floatalpha, inttime, intmovementType),从初始startAlpha值经历一段时间time后变为alpha值,movementType取值通常为Movement.LINEAR,实现对象的渐现(失)fade(floatalpha, inttime)fade(floatalpha, inttime, intmovementType)从当前透明度值经历一段时间time后变为alpha值forceDrawType(intdrawType),设置对象绘制类型,3种类型,取值0,1,2,详见DrawPriority,一般不需要调用该函数getParentLayer(),获取父层getTextureTile(),获取当前显示的帧序号getZ(),获取该对象的层序setAlpha(floatalpha),设置透明度setBorder(booleanborder),设置是否有边框setBorder(floatred, floatgreen, floatblue, floatalpha),设置边框颜色,仅对没有图片呈现的对象起作用,会绘制一个边框setZ(intz),设置该对象层序,影响对象绘制先后顺序。调用该函数后,须调用layer.setDrawOrder(DrawOrder.Z_ORDER)才会起作用noBorder(),设置无填充setTexture(Texturetexture),设置需呈现的图片Texture实例setTextureTile(inttileIndex),设置显示某帧图片,从0计数setTextureTile(intcolumn, introw),设置显示图片上某行某列的帧图片setTextureTile(Texturetexture, inttileIndex),设置需呈现的图片Texture实例和要显示的某帧图片show(),显示对象hide(),隐藏对象isAlive(),对象是否存活,若已删除了该对象,则为false,否则为trueisOnScreen(),是否在屏幕可视区域内isVisible(),是否可见stopFade(),停止渐现(失)动画remove(),删除该对象,等价于Scene.remove(drawableObject)onRemove(),删除对象时自动调用,如有必要,须在子类中覆写onUpdate(),动画播放和渐现(失)更新函数-BasicGameObject:继承RotationalObject,DrawableObject的父类attemptInvoke(Callbackcallback)attemptInvoke(java.lang.StringmethodSuffix) attemptInvoke(java.lang.StringmethodSuffix, java.lang.ClassparameterTypes, java.lang.Objectparameters)attemptInvoke(java.lang.StringmethodSuffix, java.lang.Objectparameters)调用父场景(Scene)的函数,相当于_methodName()getParentScene(),获取父场景getId(),获取该对象id号getName(),获取该对象名setId(intid),设置对象id号setName(java.lang.Stringname),设置对象名,若不设置对象名,attemptInvoke不会调用scene的函数-RotationalObject:继承DimensionalObject,BasicGameObject的父类,只是比DimensionalObject多了旋转属性的控制rotate(floatrotation),旋转rotation(弧度)rotateAboutCentre(),设置以中心点旋转rotateAboutPoint(floatrotationPivotX, floatrotationPivotY),设置以参数指定参考点旋转setRotation(floatrotation),设置角度setRotation(floatrotation, floatrotationPivotX, floatrotationPivotY),以参考点设置角度-DimensionalObject:继承Point,子类包括RotationalObject和Windowcentre(floatx, floaty),以中心点为参考点放置对象move(floatx, floaty, floatwidth, floatheight, inttime)move(floatx, floaty, floatwidth, floatheight, inttime, intmovementType),在一段时间内移动并缩放对象move(floatx, floaty, inttime)move(floatx, floaty, inttime, intmovementType)在一段时间内移动到某点,当运动完成后会自动调用Scene.onMoveEnd(object)resize(floatwidth),根据参数宽等比例重新设置对象尺寸resize(floatwidth, floatheight, inttime)resize(floatwidth, floatheight, inttime, intmovementType)在一段时间内缩放对象grow(floatwidth, floatheight),参数为正,则放大对象;参数为负,缩小对象shrink(floatwidth, floatheight),与grow函数相反scaleFromCentre(float width, float height, int time, int movementType)以对象中心点为参考点,在一段时间内缩放对象stopMove(),停止移动stopScale(),停止缩放-Point:继承Vector2,DimensionalObject的父类move(floatx, floaty),移动参数指定的位移setXY(floatx, floaty),设置坐标位置getParent(),获取相对父坐标setParent(Pointpoint),设置相对父坐标removeParent(),移除相对父坐标,还原为以原点为参考点-Texture:图片显示的依附体,包含子类:DynamicTexture, FontTexture, TextTexture, TextureAtlas构造函数:Texture(java.lang.Stringfilename),以图片名创建一个Texture实例Texture(java.lang.Stringfilename, intcolumns, introws),以图片名和图片行列数创建一个Texture实例,用在小图集成在大图上的情况getWidth(),获取图片宽度getHeight(),获取图片高度getTileWidth(),若图片是小图的集成图,获取单个小图的宽度getTileHeight(),若图片是小图的集成图,获取单个小图的高度-TextureAtlas:可理解为Texture实例的集合,除了DynamicTexture,其他类型的Texture都可以加入到TextureAtlas,可以提高游戏速度构造函数:TextureAtlas(),创建默认最多加载64个Texture,图片宽高最大为1024的实例TextureAtlas(intmaxTextureCount),创建允许加载maxTextureCount个Texture,图片宽高最大为1024的实例TextureAtlas(intmaxTextureCount, inttexAtlasWidth, inttexAtlasHeight)创建允许加载maxTextureCount个Texture,图片宽最大为texAtlasWidth,高最大为texAtlasHeight的实例complete(),添加完所有Texture后,要调用该函数insert(Texturetexture),添加一个Texture实例(除了DynamicTexture)setUnloaded(),注销添加的所有Texture-TextSprite:用来显示文本属性:text,显示的文本构造函数:TextSprite(floatx, floaty, floatcharacterWidth, floatheight)创建一个在坐标(x,y)上,单个字符宽为characterWidth,高为height的文本SpritesetTexture(Texturetexture),参数必须为TextTexture实例(通过Font.createTexture(string)创建的TextTexture)!-PhysicalSprite:创建用于box2d物理引擎的spritecreateDynamicBox(FixtureDeffixtureDef)createStaticBox(FixtureDeffixtureDef)createKinematicBox(FixtureDeffixtureDef)创建不同类型的,形状为矩形的PhysicalSpritecreateDynamicCircle(FixtureDeffixtureDef)createStaticCircle(FixtureDeffixtureDef)createKinematicCircle(FixtureDeffixtureDef)创建不同类型的,形状为圆形的PhysicalSprite-Font:字体类属性:paint,绘制文本的画笔,可用来设置字体样式和颜色构造函数:Font(Typefacetypeface),以Typeface实例为参数创建一个字体类,Typeface类详见android.graphics.TypefacecreateTexture(java.lang.Stringtext),创建一个TextTexture实例createTexture(java.lang.Stringtext, intwidth),创建一个指定宽度范围的TextTexture实例setFontSize(floatfontSize),设置字体大小,默认大小为64.0f-Polygon:多边形类,有子类CirclePolygon构造函数:Polygon(),创建一个没有顶点的实例,实际编程不会用到这种初始方式Polygon(floatvertices),创建包含若干顶点x,y坐标的多边形,坐标以float数组形式提供Polygon(Pointvertices),创建包含若干顶点坐标的多边形,坐标以Point数组形式提供addVertex(floatx, floaty),添加一个顶点,参数为x,yaddVertex(Pointlocation),添加一个顶点,参数为Pointcomplete()findEdges()以上2个函数其实一样,complete直接调用的findEdges,顶点添加完毕后调用,若是调用了addVertex函数增加了新的顶点,则需要调用该函数getPolygonShape(),初始化一个PolygonShape实例,box2d使用getVertex(intindex),获取某个顶点PointgetVertexCount(),获取多边形总顶点数-MathHelper:提供实用的静态常量和函数常量:DEG_TO_RAD,角度到弧度的转化值,例:degreeDEG_TO_RADRAD_TO_DEG,弧度到角度的转化值,例:radiansRAD_TO_DEGdistanceToShape(floatx, floaty, Spritesprite),计算某点到精灵的最短距离intersects(Spritesprite1, Spritesprite2),精灵间的碰撞检测,等同于ersects(otherSprite)pointInRect(floatpointX, floatpointY, floatx, floaty, floatwidth, floatheight),判断某点是否在矩形内pointInShape(floatx, floaty, Spritesprite),判断某点是否在sprite内rectOverlap(floatrect1X1, floatrect1Y1, floatrect1X2, floatrect1Y2, floatrect2X1, floatrect2Y1, floatrect2X2, floatrect2Y2)判断两矩形是否相交rotate(floatangle, floatx, floaty, floatpivotX, floatpivotY)计算某点(x,y)依照参考点(pivotX,pivotY)旋转angle角度后的新坐标-Callback:回调函数类Callback(java.lang.StringmethodName)创建无参的函数名为methodName的回调Callback(java.lang.StringmethodName, java.lang.ClassparameterTypes, java.lang.Objectparameters)创建包含若干参数数据类型,参数值的回调Callback(java.lang.StringmethodName, java.lang.ClassparameterType, java.lang.Objectparameter)创建包含一个参数类型,参数值的回调Callback(java.lang.StringmethodName, java.lang.Objectparameter)创建包含一个参数值的回调Callback(java.lang.StringmethodName, java.lang.Objectparameters)创建包含若干参数值的回调-Modifier:动态改变精灵属性的类,目前只有Blink子类。需自定义其他子类继承该类实现想要的效果,子类需覆写的函数包括以下3个:onStart(Spritesprite),初始化自定义变量函数onUpdate(Spritesprite),状态属性持续更新函数onEnd(Spritesprite),调用end()函数结束更新时调用end(),移除modifier实例getSprite(),获取运行该modifier的精灵引用-Preferences:数据存储类静态属性:object,SharedPreferences实例-其他未提及但需要了解的类:Debug,DrawOrder,DrawPriority,Movement,Physics,TextureManager,Time,Window忽略不看的类:AllocationGuard,BlendFunction,BufferObject,ColourBuffer,FixedSizeArray,FPSCounter,GLHelper,GLSurfaceView,MotionEventWrapper5,MotionEventWrapper8,QuickSorter,RokonRenderer,RokonSurfaceView,Sorter,StandardSorter,VBOManagercom.stickycoding.rokon.audio包:提供声音播放的类RokonAudio:播放音效的类,最多包含50个音效,同时可最多播放5种音效createSoundFile(java.lang.Stringfilename),根据音频文件名创建一个SoundFile实例,音频文件必须放在assets文件夹中(子目录也可)destroy(),释放音频资源,通常在退出游戏时调用removeSoundFile(SoundFilesoundFile),删除某一个SoundFilesetMasterVolume(floatmasterVolume),设置音量大小,参数取值范围0-1mute(),静音,仅对音效起作用,对背景音乐无用unmute(),取消静音isMuted(),是否静音-SoundFile:音效文件类getId(),获取该音效id号play(),播放音效playContinuous(),重复播放音效unload(),从内存中删除音效-RokonMusic:播放背景音乐的类,该类均为静态函数getMediaPlayer(),获取MediaPlayer实例,请见andro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论