ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:24.55KB ,
资源ID:6799200      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6799200.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Rokon+summary.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Rokon+summary.docx

1、Rokon+summaryRokon引擎主要类介绍com.stickycoding.rokon包:Rokon:提供静态函数和属性属性:circle,Polygon实例,圆形 rectangle,Polygon实例,矩形。Sprite类的polygon属性默认为该矩形函数:getActivity(),获取当前activity实例-RokonActivity:Activity子类,提供基本的引擎参数设置和视图转换onCreate(),入口函数,子类须覆写该函数,在该函数中设置全屏,横(竖)屏,界面尺寸,创建引擎,实例化自定义类createEngine(),创建只包含SurfaceView的引擎cr

2、eateEngine(booleancreateRelativeLayout),参数为true创建包含SurfaceView和RelativeLayout的引擎,RalativeLayout可添加其他Android组件。以下4个函数须在createEngine前调用:forceFullscreen(),全屏forceGameSize(floatwidth, floatheight),设置游戏界面尺寸forceLandscape(),横屏,同时须在AndroidManifest.xml中设置属性android:screenOrientation=landscapeforcePortrait(),

3、竖屏,同时须在AndroidManifest.xml中设置属性android:screenOrientation=portraitonLoadComplete(),引擎创建成功后自动调用,须在子类中覆写,在该函数中初始化要使用到的所有图片Texture,以及调用setScene显示当前的Scenedispose(),退出游戏时自动调用进行垃圾回收,若子类有自定义的类实例,须覆写该函数并在函数体内设置object = nullgetGameHeight(),获取界面高getGameWidth(),获取界面宽getInterface(),获取createEngine中创建的RalativeLayo

4、ut实例,可向其添加其他组件getScene(),获取当前显示的Scene实例setDrawPriority(intdrawPriority),设置绘图模式,0VBO模式,1一般模式,默认为0,一般不需要自己调用setGameSize(floatwidth, floatheight),设置游戏界面尺寸,和forceGameSize不同之处在于:若参数宽高与实际手机屏幕尺寸不一致,会根据屏幕宽高比重新设置界面宽,并返回宽度值setGraphicsPath(java.lang.Stringpath),设置图片资源根目录路径,游戏图片资源均放在assets/graphics下setScene(Sce

5、nescene),设置当前要显示的Scene实例disableBack(),back键不起作用,若自定义了退出按钮事件,则可调用该函数屏蔽back键的退出功能enableBack(),back键起作用,默认值-Scene:场景类,包含若干层(Layer)属性:activity,RokonActivity实例引用构造函数:Scene(),创建默认只有1个层,该层最多包含32个绘制对象的场景Scene(intlayerCount),创建layerCount个层,每个层都最多包含32个绘制对象的场景Scene(intlayerCount, intlayerObjectCount),创建layerCo

6、unt个层,每个层都最多包含layerObjectCount个绘制对象的场景Scene(intlayerCount, intlayerObjectCount),创建layerCount个层,每个层包含的绘制对象个数由layerObjectCount数组指定抽象函数,须在子类中覆写,覆写的函数体可为空onReady(),在RokonActivity的setScene中自动调用,在该函数中可获取到activity,构造函数中获取activity为空onGameLoop(),游戏逻辑循环,一直都在调用onPause(),游戏暂停时调用,比如来电onResume(),游戏恢复时调用,比如挂断电话重新回

7、到游戏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.;调用

8、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(DrawableObject

9、drawableObject),删除某个绘制对象removeWindow(),删除游戏窗体removeWorld(),删除box2d世界onTouch(floatx, floaty, MotionEventevent, intpointerCount, intpointerId) ,游戏区域点击onTouchReal(floatx, floaty, MotionEventevent, intpointerCount, intpointerId),实际屏幕点击isPhysicsPaused(),物理引擎是否暂停pausePhysics(),暂停物理引擎resumePhysics(),恢复物理引擎

10、noPhysics(),不使用物理引擎,默认设置usePhysics(),使用物理引擎,setWorld中会调用stopInvoke(),关闭类外函数调用useInvoke(),启动类外函数调用,在Sprite类中某些动作执行开始和结束时会调用Scene类的函数,函数名参看Sprite类源代码toastLong(java.lang.Stringmessage),显示长消息toastShort(java.lang.Stringmessage),显示短消息invoke(Callbackcallback)invoke(java.lang.StringmethodName)invoke(java.la

11、ng.Stringmethod,java.lang.Classparam,java.lang.ObjectparamVal)invoke(java.lang.StringmethodName, java.lang.ObjectparamValues)以上4个函数作用都是调用该类的方法,等同于直接:函数名(参数)的调用方式onFadeEnd(DrawableObject object),绘制对象渐现(失)完后调用,可在子类覆写onMoveEnd(DimensionalObject object),画布对象移动完后调用,可在子类覆写,注:只有调用DimensionalObject的move函数来移

12、动对象,最后运动停止才会调用该方法onEndScene(),转换到另一场景时释放当前场景资源,自动调用,需在子类中覆写该函数以释放自定义类实例-Layer:层,包含在Scene中,所有绘制对象均添加于层中。Layer实例已在Scene有初始化,若需要自定义子类继承Layer,则应调用Scene.setLayer函数设置为自定义层显示构造函数:Layer(SceneparentScene, intmaximumDrawableObjects),创建位于父场景parentScene中,最多包含maximumDrawableObjects个绘制对象的层add(GameObjectdrawableOb

13、ject),添加一个Gameobject对象clear(),删除层中的所有对象getGameObject(intindex),获取某个绘制对象setDrawOrder(inttype),设置绘图次序类型,一共6种类型,取值0,1,2,3,4,5,默认为0,详见DrawOrder类ignoreWindow(),忽略窗体绘制useWindow(),依赖窗体绘制,默认使用isUsingWindow(),是否依赖窗体-Sprite:精灵类,继承GameObject,该类为一层层继承下来,请熟悉其继承关系!子类包含:LineSprite, PhysicalSprite, PolygonSprite, T

14、extSprite, TiledSprite构造函数:Sprite(floatx, floaty, floatwidth, floatheight),根据坐标和宽高创建精灵onRemove(),精灵被删除时自动调用,子类需覆写该函数,设置类变量为nullonUpdate(),状态属性更新函数,在该函数中改变精灵的位移,旋转角度等accelerate(floatacceleration, floatangle),沿某一角度(弧度为单位)加速运动,该角度相对于y轴accelerate(floatacceleration, floatangle, floatterminalVelocity)沿某一角

15、度(弧度为单位)加速运动,当线速度大于等于terminalVelocity时,以terminalVelocity值匀速运动accelerateX(floataccelerationX),水平方向加速运动accelerateX(floataccelerationX, floatterminalSpeedX),水平方向加速运动,当线速度大于等于terminalSpeedX时,以terminalSpeedX值匀速运动accelerateY(floataccelerationY),垂直方向加速运动accelerateY(floataccelerationY, floatterminalSpeedY)

16、,垂直方向加速运动,当线速度大于等于terminalSpeedY时,以terminalSpeedY值匀速运动addModifier(Modifiermodifier),添加一个Modifier实例,最多能同时添加8个modifier。Modifier类作用:持续一段时间改变Sprite属性值,需要自定义其子类,在子类中实现函数体。比如alpha值,可呈现闪动效果removeModifier(Modifiermodifier),删除某一个modifierclearModifiers(),删除添加的所有modifiersgetPolygon(),获取精灵的外观形状,一般为矩形getVertex(i

17、ntindex),获取精灵的某一个顶点坐标,会依据旋转和缩放而改变setPolygon(Polygonpolygon),设置精灵的形状,box2d使用setSpeed(intx, inty),设置水平和垂直方向上的速度(位移)setVelocity(floatvelocity, floatangle),设置沿某一角度方向运动的速度intersects(Spritesprite),碰撞检测,判断是否和其他精灵相交stop(),停止所有运动,旋转和位移moveTo(floatx, floaty, longtime)moveTo(floatx, floaty, longtime, inttype)m

18、oveTo(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(floatang

19、le, intdirec, inttime, inttype, Callbackcallback)以上2个函数为设置一段时间旋转到某个角度,direction为精灵类自定义常量ROTATE_TO_ANTI_CLOCKWISE(逆时针),ROTATE_TO_CLOCKWISE(顺时针),ROTATE_TO_AUTOMATIC(根据当前精灵角度和要旋转至的角度自动判断逆或顺时针旋转);callback可设置旋转完后的回调函数,若Scene的useInvoke为true,运动完后则会调用Scene中名为(name)_onRotateToComplete的函数(须在Scene子类中自定义),请参看Sp

20、rite源代码!-GameObject:继承DrawableObject,Sprite的父类isAdded(),是否已添加到场景中isTouchable(),是否接收触摸事件removeTouchable(),设置为不可触摸setTouchable(),设置为可触摸-DrawableObject,继承BasicGameObject,GameObject的父类,不能接收触摸事件animate(intanimationTiles, longframeTime),自定义播放动画帧序列,以frameTime时间间隔一直循环播放animate(intanimationTiles, longframeTi

21、me, intloops, booleanreturnToStart),自定义播放动画帧序列,以frameTime时间间隔播放loops次,returnToStart为true表示动画结束显示第一帧animate(intstartTile, intendTile, longframeTime),从startTile帧播放至endTile帧,以frameTime时间间隔一直循环播放animate(intstartTile, intendTile, longframeTime, intloops, booleanreturnToStart),从startTile帧播放至endTile帧,以fram

22、eTime时间间隔播放loops次,returnToStart为true表示动画结束显示第一帧fade(floatstartAlpha, floatalpha, inttime, intmovementType),从初始startAlpha值经历一段时间time后变为alpha值,movementType取值通常为Movement.LINEAR,实现对象的渐现(失)fade(floatalpha, inttime)fade(floatalpha, inttime, intmovementType)从当前透明度值经历一段时间time后变为alpha值forceDrawType(intdrawTy

23、pe),设置对象绘制类型,3种类型,取值0,1,2,详见DrawPriority,一般不需要调用该函数getParentLayer(),获取父层getTextureTile(),获取当前显示的帧序号getZ(),获取该对象的层序setAlpha(floatalpha),设置透明度setBorder(booleanborder),设置是否有边框setBorder(floatred, floatgreen, floatblue, floatalpha),设置边框颜色,仅对没有图片呈现的对象起作用,会绘制一个边框setZ(intz),设置该对象层序,影响对象绘制先后顺序。调用该函数后,须调用laye

24、r.setDrawOrder(DrawOrder.Z_ORDER)才会起作用noBorder(),设置无填充setTexture(Texturetexture),设置需呈现的图片Texture实例setTextureTile(inttileIndex),设置显示某帧图片,从0计数setTextureTile(intcolumn, introw),设置显示图片上某行某列的帧图片setTextureTile(Texturetexture, inttileIndex),设置需呈现的图片Texture实例和要显示的某帧图片show(),显示对象hide(),隐藏对象isAlive(),对象是否存活,若

25、已删除了该对象,则为false,否则为trueisOnScreen(),是否在屏幕可视区域内isVisible(),是否可见stopFade(),停止渐现(失)动画remove(),删除该对象,等价于Scene.remove(drawableObject)onRemove(),删除对象时自动调用,如有必要,须在子类中覆写onUpdate(),动画播放和渐现(失)更新函数-BasicGameObject:继承RotationalObject,DrawableObject的父类attemptInvoke(Callbackcallback)attemptInvoke(java.lang.String

26、methodSuffix) attemptInvoke(java.lang.StringmethodSuffix, java.lang.ClassparameterTypes, java.lang.Objectparameters)attemptInvoke(java.lang.StringmethodSuffix, java.lang.Objectparameters)调用父场景(Scene)的函数,相当于scene.name_methodName()getParentScene(),获取父场景getId(),获取该对象id号getName(),获取该对象名setId(intid),设置对象

27、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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1