Rokon+summary.docx

上传人:b****6 文档编号:6799200 上传时间:2023-01-10 格式:DOCX 页数:16 大小:24.55KB
下载 相关 举报
Rokon+summary.docx_第1页
第1页 / 共16页
Rokon+summary.docx_第2页
第2页 / 共16页
Rokon+summary.docx_第3页
第3页 / 共16页
Rokon+summary.docx_第4页
第4页 / 共16页
Rokon+summary.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Rokon+summary.docx

《Rokon+summary.docx》由会员分享,可在线阅读,更多相关《Rokon+summary.docx(16页珍藏版)》请在冰豆网上搜索。

Rokon+summary.docx

Rokon+summary

Rokon引擎主要类介绍

com.stickycoding.rokon包:

Rokon:

提供静态函数和属性

属性:

circle,Polygon实例,圆形

rectangle,Polygon实例,矩形。

Sprite类的polygon属性默认为该矩形

函数:

getActivity(),获取当前activity实例

----------------------------------------------------------------------------------------------------------------------

RokonActivity:

Activity子类,提供基本的引擎参数设置和视图转换

onCreate(),入口函数,子类须覆写该函数,在该函数中设置全屏,横(竖)屏,界面尺寸,创建引擎,实例化自定义类

createEngine(),创建只包含SurfaceView的引擎

createEngine(boolean createRelativeLayout),参数为true创建包含SurfaceView和RelativeLayout的引擎,RalativeLayout可添加其他Android组件。

以下4个函数须在createEngine前调用:

forceFullscreen(),全屏

forceGameSize(float width,float height),设置游戏界面尺寸

forceLandscape(),横屏,同时须在AndroidManifest.xml中设置属性android:

screenOrientation="landscape"

forcePortrait(),竖屏,同时须在AndroidManifest.xml中设置属性android:

screenOrientation="portrait"

onLoadComplete(),引擎创建成功后自动调用,须在子类中覆写,在该函数中初始化要使用到的所有图片Texture,以及调用setScene显示当前的Scene

dispose(),退出游戏时自动调用进行垃圾回收,若子类有自定义的类实例,须覆写该函数并在函数体内设置object=null

getGameHeight(),获取界面高

getGameWidth(),获取界面宽

getInterface(),获取createEngine中创建的RalativeLayout实例,可向其添加其他组件

getScene(),获取当前显示的Scene实例

setDrawPriority(int drawPriority),设置绘图模式,0-VBO模式,1-一般模式,默认为0,一般不需要自己调用

setGameSize(float width,float height),设置游戏界面尺寸,和forceGameSize不同之处在于:

若参数宽高与实际手机屏幕尺寸不一致,会根据屏幕宽高比重新设置界面宽,并返回宽度值

setGraphicsPath(java.lang.String path),设置图片资源根目录路径,游戏图片资源均放在assets/graphics下

setScene(Scene scene),设置当前要显示的Scene实例

disableBack(),back键不起作用,若自定义了退出按钮事件,则可调用该函数屏蔽back键的退出功能

enableBack(),back键起作用,默认值

----------------------------------------------------------------------------------------------------------------------

Scene:

场景类,包含若干层(Layer)

属性:

activity,RokonActivity实例引用

构造函数:

Scene(),创建默认只有1个层,该层最多包含32个绘制对象的场景

Scene(int layerCount),创建layerCount个层,每个层都最多包含32个绘制对象的场景

Scene(int layerCount,int layerObjectCount),创建layerCount个层,每个层都最多包含layerObjectCount个绘制对象的场景

Scene(int layerCount,int[] layerObjectCount),创建layerCount个层,每个层包含的绘制对象个数由layerObjectCount数组指定

抽象函数,须在子类中覆写,覆写的函数体可为空

onReady(),在RokonActivity的setScene中自动调用,在该函数中可获取到activity,构造函数中获取activity为空

onGameLoop(),游戏逻辑循环,一直都在调用

onPause(),游戏暂停时调用,比如来电

onResume(),游戏恢复时调用,比如挂断电话重新回到游戏

add(GameObject drawableObject),添加一个GameObject到第一层(索引号为0)

add(int layerIndex,GameObject drawableObject),添加一个GameObject到指定层(索引号)

clear(),删除所有绘制对象

clearLayer(int index),删除某层中的所有绘制对象

moveLayer(int startIndex,int endIndex),移动层序

switchLayers(int layer1,int layer2),互换层序

例:

初始层序〔0,1,2...〕,调用moveLayer(0,2)后,层序变为〔1,2,0...〕;调用switchLayer(0,2)后,层序变为〔2,1,0...〕

getLayer(int index),根据索引号获取某层实例

getWindow(),获取窗体实例

getWorld(),获取World实例,box2d使用

setBackground(Background background),设置界面背景,参数其实为FixedBackground实例(Background的子类)

setLayer(int index,Layer layer),替换某层

setWindow(Window window),设置游戏窗体

setWorld(World world),设置box2d世界

remove(DrawableObject drawableObject),删除某个绘制对象

removeWindow(),删除游戏窗体

removeWorld(),删除box2d世界

onTouch(float x,float y,MotionEvent event,int pointerCount,int pointerId),游戏区域点击

onTouchReal(float x,float y,MotionEvent event,int pointerCount,int pointerId),实际屏幕点击

isPhysicsPaused(),物理引擎是否暂停

pausePhysics(),暂停物理引擎

resumePhysics(),恢复物理引擎

noPhysics(),不使用物理引擎,默认设置

usePhysics(),使用物理引擎,setWorld中会调用

stopInvoke(),关闭类外函数调用

useInvoke(),启动类外函数调用,在Sprite类中某些动作执行开始和结束时会调用Scene类的函数,函数名参看Sprite类源代码

toastLong(java.lang.String message),显示长消息

toastShort(java.lang.String message),显示短消息

invoke(Callback callback)

invoke(java.lang.String methodName)

invoke(java.lang.String method,java.lang.Class

>[] param,java.lang.Object[] paramVal)

invoke(java.lang.String methodName,java.lang.Object[] paramValues)

以上4个函数作用都是调用该类的方法,等同于直接:

函数名(参数)的调用方式

onFadeEnd(DrawableObjectobject),绘制对象渐现(失)完后调用,可在子类覆写

onMoveEnd(DimensionalObjectobject),画布对象移动完后调用,可在子类覆写,注:

只有调用DimensionalObject的move函数来移动对象,最后运动停止才会调用该方法

onEndScene(),转换到另一场景时释放当前场景资源,自动调用,需在子类中覆写该函数以释放自定义类实例

----------------------------------------------------------------------------------------------------------------------

Layer:

层,包含在Scene中,所有绘制对象均添加于层中。

Layer实例已在Scene有初始化,若需要自定义子类继承Layer,则应调用Scene.setLayer函数设置为自定义层显示

构造函数:

Layer(Scene parentScene,int maximumDrawableObjects),创建位于父场景parentScene中,最多包含maximumDrawableObjects个绘制对象的层

add(GameObject drawableObject),添加一个Gameobject对象

clear(),删除层中的所有对象

getGameObject(int index),获取某个绘制对象

setDrawOrder(int type),设置绘图次序类型,一共6种类型,取值0,1,2,3,4,5,默认为0,详见DrawOrder类

ignoreWindow(),忽略窗体绘制

useWindow(),依赖窗体绘制,默认使用

isUsingWindow(),是否依赖窗体

----------------------------------------------------------------------------------------------------------------------

Sprite:

精灵类,继承GameObject,该类为一层层继承下来,请熟悉其继承关系!

子类包含:

LineSprite,PhysicalSprite,PolygonSprite,TextSprite,TiledSprite

构造函数:

Sprite(float x,float y,float width,float height),根据坐标和宽高创建精灵

onRemove(),精灵被删除时自动调用,子类需覆写该函数,设置类变量为null

onUpdate(),状态属性更新函数,在该函数中改变精灵的位移,旋转角度等

accelerate(float acceleration,float angle),沿某一角度(弧度为单位)加速运动,该角度相对于y轴

accelerate(float acceleration,float angle,float terminalVelocity)

沿某一角度(弧度为单位)加速运动,当线速度大于等于terminalVelocity时,以terminalVelocity值匀速运动

accelerateX(float accelerationX),水平方向加速运动

accelerateX(float accelerationX,float terminalSpeedX),水平方向加速运动,当线速度大于等于terminalSpeedX时,以terminalSpeedX值匀速运动

accelerateY(float accelerationY),垂直方向加速运动

accelerateY(float accelerationY,float terminalSpeedY),垂直方向加速运动,当线速度大于等于terminalSpeedY时,以terminalSpeedY值匀速运动

addModifier(Modifier modifier),添加一个Modifier实例,最多能同时添加8个modifier。

Modifier类作用:

持续一段时间改变Sprite属性值,需要自定义其子类,在子类中实现函数体。

比如alpha值,可呈现闪动效果

removeModifier(Modifier modifier),删除某一个modifier

clearModifiers(),删除添加的所有modifiers

getPolygon(),获取精灵的外观形状,一般为矩形

getVertex(int index),获取精灵的某一个顶点坐标,会依据旋转和缩放而改变

setPolygon(Polygon polygon),设置精灵的形状,box2d使用

setSpeed(int x,int y),设置水平和垂直方向上的速度(位移)

setVelocity(float velocity,float angle),设置沿某一角度方向运动的速度

intersects(Sprite sprite),碰撞检测,判断是否和其他精灵相交

stop(),停止所有运动,旋转和位移

moveTo(float x,float y,long time)

moveTo(float x,float y,long time,int type)

moveTo(float x,float y,long time,int type,Callback callback)

以上3个函数均为设置一段时间内移动到某点,type通常设置为Movement.LINEAR,详见Movement类;callback可设置运动完后的回调函数,若Scene的useInvoke为true,运动完后则会调用Scene中名为(name)_onMoveToComplete的函数(须在Scene子类中自定义),请参看Sprite源代码!

rotateTo(float angle,int direction,int time,int type)

rotateTo(float angle,int direc,int time,int type,Callback callback)

以上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(int[] animationTiles,long frameTime),自定义播放动画帧序列,以frameTime时间间隔一直循环播放

animate(int[] animationTiles,long frameTime,int loops,boolean returnToStart),自定义播放动画帧序列,以frameTime时间间隔播放loops次,returnToStart为true表示动画结束显示第一帧

animate(int startTile,int endTile,long frameTime),从startTile帧播放至endTile帧,以frameTime时间间隔一直循环播放

animate(int startTile,int endTile,long frameTime,int loops,boolean returnToStart),从startTile帧播放至endTile帧,以frameTime时间间隔播放loops次,returnToStart为true表示动画结束显示第一帧

fade(float startAlpha,float alpha,int time,int movementType),从初始startAlpha值经历一段时间time后变为alpha值,movementType取值通常为Movement.LINEAR,实现对象的渐现(失)

fade(float alpha,int time)

fade(float alpha,int time,int movementType)

从当前透明度值经历一段时间time后变为alpha值

forceDrawType(int drawType),设置对象绘制类型,3种类型,取值0,1,2,详见DrawPriority,一般不需要调用该函数

getParentLayer(),获取父层

getTextureTile(),获取当前显示的帧序号

getZ(),获取该对象的层序

setAlpha(float alpha),设置透明度

setBorder(boolean border),设置是否有边框

setBorder(float red,float green,float blue,float alpha),设置边框颜色,仅对没有图片呈现的对象起作用,会绘制一个边框

setZ(int z),设置该对象层序,影响对象绘制先后顺序。

调用该函数后,须调用layer.setDrawOrder(DrawOrder.Z_ORDER)才会起作用

noBorder(),设置无填充

setTexture(Texture texture),设置需呈现的图片Texture实例

setTextureTile(int tileIndex),设置显示某帧图片,从0计数

setTextureTile(int column,int row),设置显示图片上某行某列的帧图片

setTextureTile(Texture texture,int tileIndex),设置需呈现的图片Texture实例和要显示的某帧图片

show(),显示对象

hide(),隐藏对象

isAlive(),对象是否存活,若已删除了该对象,则为false,否则为true

isOnScreen(),是否在屏幕可视区域内

isVisible(),是否可见

stopFade(),停止渐现(失)动画

remove(),删除该对象,等价于Scene.remove(drawableObject)

onRemove(),删除对象时自动调用,如有必要,须在子类中覆写

onUpdate(),动画播放和渐现(失)更新函数

----------------------------------------------------------------------------------------------------------------------

BasicGameObject:

继承RotationalObject,DrawableObject的父类

attemptInvoke(Callback callback)

attemptInvoke(java.lang.String methodSuffix)attemptInvoke(java.lang.String methodSuffix,java.lang.Class

>[] parameterTypes,java.lang.Object[] parameters)

attemptInvoke(java.lang.String methodSuffix,java.lang.Object[] parameters)

调用父场景(Scene)的函数,相当于scene.name_methodName()

getParentScene(),获取父场景

getId(),获取该对象id号

getName(),获取该对象名

setId(int id),设置对象id号

setName(java.lang.String name),设置对象名,若不设置对象名,attemptInvoke不会调用scene的函数

----------------------------------------------------------------------------------------------------------------------

RotationalObject:

继承DimensionalObject,BasicGameObject的父类,只是比DimensionalObject多了旋转属性的控制

rotate(float rotation),旋转rotation(弧度)

rotateAboutCentre(),设置以中心点旋转

rotateAboutPoint(float rotationPivotX,float rotationPivotY),设置以参数指定参考点旋转

setRotation(float rotation),设置角度

setRotation(float rotation,float rotationPivotX,float rotationPivotY),以参考点设置角度

----------------------------------------------------------------------------------------------------------------------

DimensionalObject:

继承Point,子类包括RotationalObject和Window

centre(float x,float y),以中心点为参考点放置对象

move(float x,float y,float width,float height,int time)

move(float x,float y,float width,float height

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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