FunCode C Library
目 录
EWorldLimit – 世界边界碰撞模式 .................................................................................................. 5 ECollisionResponse - 精灵与精灵之间的碰撞响应 ........................................................................ 5 MouseTypes - 鼠标按键值定义 ...................................................................................................... 5 KeyCodes - 键盘KEY值定义 ........................................................................................................... 5 dOnMouseMove:鼠标移动后将被调用的函数 ............................................................................ 9 dOnMouseClick:鼠标按下后将被调用的函数 ............................................................................. 9 dOnKeyDown:键盘被按下后将被调用的函数 ........................................................................... 10 dOnKeyUp:键盘按键弹起后将被调用的函数 ............................................................................ 10 dOnSpriteColSprite:精灵与精灵碰撞后将被调用的函数 .......................................................... 10 dOnSpriteColWorldLimit:精灵与世界边界碰撞后将被调用的函数.......................................... 10 dMakeSpriteName: 将前面的字符串与后面的数字整合成一个字符串 .................................... 10 dCursorOn:开启鼠标显示 ........................................................................................................... 10 dIsCursorOn:当前鼠标是开启还是关闭 ..................................................................................... 10 dShowCursor:隐藏/显示鼠标 ...................................................................................................... 10 dIsShowCursor:当前鼠标是显示还是隐藏 ................................................................................. 11 dSetWindowTitle:设置窗口名字/标题 ....................................................................................... 11 dResizeWindow:更改窗口大小 ................................................................................................... 11 dGetHwnd:获取窗口句柄 ........................................................................................................... 11 dRandom:获取一个大于等于0的随机数 ................................................................................. 11 dRandomRange:获取一个位于参数1到参数2之间的随机数 ............................................... 11 dCalLineRotation:计算两点连线的直线的旋转角度 ................................................................. 11 dRotationToVectorX:计算某个角度对应的直线向量的X方向 ................................................. 11 dRotationToVectorY:计算某个角度对应的直线向量的Y方向 ................................................. 11 dDrawLine:在两点之间画一条线 ............................................................................................... 12 dDrawTriangle:画一个三角形 ..................................................................................................... 12 dDrawRect:画一个矩形 ............................................................................................................... 12 dDrawCircle:画一个圆 ................................................................................................................. 12 dGetScreenLeft:获取世界边界之左边X坐标 ............................................................................ 13 dGetScreenTop:获取世界边界之上边Y坐标 ............................................................................ 13 dGetScreenRight:获取世界边界之右边X坐标 .......................................................................... 13 dGetScreenBottom:获取世界边界之下边Y坐标 ...................................................................... 13 dCloneSprite:复制(创建)一个精灵 ............................................................................................. 13 dDeleteSprite:在地图中删除一个精灵....................................................................................... 13 dSetSpriteVisible:设置精灵隐藏或者显示 ................................................................................. 13 dIsSpriteVisible:获取该精灵当前是否可见 ................................................................................ 13 dSetSpriteEnable:禁止或者启用该精灵 ..................................................................................... 14 dSetSpriteScale:设置精灵的缩放值 ............................................................................................ 14 dIsPointInSprite:判断某个坐标点是否位于精灵内部 ............................................................... 14
dSetSpritePosition:设置精灵位置 ............................................................................................... 14 dSetSpritePositionX:只设置精灵X坐标 ..................................................................................... 14 dSetSpritePositionY:只设置精灵Y坐标 ..................................................................................... 14 dGetSpritePositionX:获取精灵X坐标 ........................................................................................ 14 dGetSpritePositionY:获取精灵Y坐标 ........................................................................................ 14 dGetSpriteLinkPointPosX:获取精灵链接点X坐标 ..................................................................... 15 dGetSpriteLinkPointPosY:获取精灵链接点Y坐标 ..................................................................... 15 dSetSpriteRotation:设置精灵的旋转角度 .................................................................................. 15 dGetSpriteRotation:获取精灵的旋转角度.................................................................................. 15 dSetSpriteAutoRot:设置精灵按照指定速度自动旋转 ............................................................... 15 dSetSpriteWidth:设置精灵外形宽度 .......................................................................................... 15 dGetSpriteWidth:获取精灵外形宽度 ......................................................................................... 15 dSetSpriteHeight:设置精灵外形高度 ......................................................................................... 15 dGetSpriteHeight:获取精灵外形高度 ......................................................................................... 15 dSetSpriteFlipX:设置精灵图片X方向翻转显示 ........................................................................ 16 dGetSpriteFlipX:获取当前精灵图片X方向是否是翻转显示 .................................................... 16 dSetSpriteFlipY:设置精灵图片Y方向翻转显示 ........................................................................ 16 dGetSpriteFlipY:获取当前精灵图片Y方向是否是翻转显示 .................................................... 16 dSetSpriteFlip:同时设置精灵翻转X及Y方向 .......................................................................... 16 dSetSpriteLifeTime:设置精灵的生命时长,时间到了之后将自动被删除 .............................. 16 dGetSpriteLifeTime:获取精灵生命时长 ..................................................................................... 16 dSpriteMoveTo:让精灵按照给定速度移动到给定坐标点 ........................................................ 16 dSpriteRotateTo:让精灵按照给定速度旋转到给定的角度 ....................................................... 17 dSetSpriteWorldLimit:设置精灵的世界边界坐标限制及碰撞模式 .......................................... 17 dSetSpriteWorldLimitMode:设置精灵的世界边界碰撞模式 ..................................................... 17 dSetSpriteWorldLimitMin:设置精灵的世界边界上边及左边坐标限制 .................................... 17 dSetSpriteWorldLimitMax:设置精灵的世界边界下边及右边坐标限制 ................................... 17 dGetSpriteWorldLimitLeft:获取精灵世界边界左边界限制 ....................................................... 18 dGetSpriteWorldLimitTop:获取精灵世界边界上边界限制 ........................................................ 18 dGetSpriteWorldLimitRight:获取精灵世界边界右边界限制 ..................................................... 18 dGetSpriteWorldLimitBottom:获取精灵世界边界下边界限制 ................................................. 18 dSetSpriteCollisionSend:设置精灵是否可以发送(产生)碰撞 .................................................... 18 dSetSpriteCollisionReceive:设置精灵是否可以接受碰撞 .......................................................... 18 dSetSpriteCollisionPhysicsSend:设置精灵是否可以发送(产生)物理碰撞 ................................. 18 dSetSpriteCollisionPhysicsReceive:设置精灵是否可以接受物理碰撞 ....................................... 18 dSetSpriteCollisionActive:同时设置精灵是否可以产生及接受碰撞 ......................................... 18 dGetSpriteCollisionSend:获取精灵当前是否是可以产生碰撞 .................................................. 19 dGetSpriteCollisionReceive:获取精灵当前是否是可以接受碰撞 ............................................. 19 dSetSpriteCollisionResponse:设置精灵与精灵的碰撞响应模式 ............................................... 19 dSetSpriteCollisionMaxIterations:设置精灵碰撞之后的最大反弹次数 .................................... 19 dSetSpriteForwardMovementOnly:设置精灵是否只能朝前移动 ............................................. 19 dGetSpriteForwardMovementOnly:获取精灵当前是否只能朝前移动 ..................................... 19 dSetSpriteForwardSpeed:设置精灵向前的速度 ......................................................................... 19 dSetSpriteImpulseForce:设置精灵瞬间推力 .............................................................................. 19
dSetSpriteImpulseForcePolar:按角度朝向设置精灵瞬间推力 .................................................. 20 dSetSpriteConstantForceX:设置精灵X方向常量推力 ............................................................... 20 dSetSpriteConstantForceY:设置精灵Y方向常量推力 ............................................................... 20 dSetSpriteConstantForceGravitic:精灵在计算常量推力的时候,是否计算重力 ..................... 20 dSetSpriteConstantForce:设置精灵常量推力 ............................................................................. 20 dSetSpriteConstantForcePolar:按角度朝向设置精灵常量推力................................................. 20 dStopSpriteConstantForce:停止精灵常量推力 .......................................................................... 20 dSetSpriteForceScale:按倍数缩放精灵当前受的推力 ............................................................... 21 dSetSpriteAtRest:暂停/继续精灵的各种受力计算 .................................................................... 21 dGetSpriteAtRest:获取精灵当前是否在暂停中 ......................................................................... 21 dSetSpriteFriction:设置精灵摩擦力 ............................................................................................ 21 dSetSpriteRestitution:设置精灵弹力 .......................................................................................... 21 dSetSpriteMass:设置精灵质量.................................................................................................... 21 dGetSpriteMass:获取精灵质量 ................................................................................................... 21 dSetSpriteAutoMassInertia:开启或者关闭精灵惯性 ................................................................. 21 dSetSpriteInertialMoment:设置精灵惯性大小 .......................................................................... 21 dSetSpriteDamping:设置精灵衰减值 ......................................................................................... 22 dSetSpriteImmovable:设置精灵是否不可移动 .......................................................................... 22 dGetSpriteImmovable:获取精灵当前是否不可以移动 ............................................................. 22 dSetSpriteLinearVelocity:设置精灵移动速度 ............................................................................. 22 dSetSpriteLinearVelocityX:设置精灵X方向移动速度 ............................................................... 22 dSetSpriteLinearVelocityY:设置精灵Y方向移动速度 ............................................................... 22 dSetSpriteLinearVelocityPolar:按角度朝向设置精灵移动速度 ................................................. 22 dSetSpriteAngularVelocity:设置精灵角度旋转速度 ................................................................... 22 dSetSpriteMinLinearVelocity:设置精灵最小速度 ....................................................................... 23 dSetSpriteMaxLinearVelocity:设置精灵最大速度 ...................................................................... 23 dSetSpriteMinAngularVelocity:设置精灵最小角速度 ................................................................ 23 dSetSpriteMaxAngularVelocity:设置精灵最大角速度 ................................................................ 23 dGetSpriteLinearVelocityX:获取精灵X方向速度 ...................................................................... 23 dGetSpriteLinearVelocityY:获取精灵Y方向速度 ....................................................................... 23 dSpriteMountToSprite:将一个精灵绑定到另一个精灵上 ......................................................... 23 dSpriteMountToSpriteLinkPoint:将一个精灵绑定到另一个精灵上 .......................................... 23 dSetSpriteMountRotation:设置精灵的绑定朝向,即相对于母体的朝向 ............................... 24 dGetSpriteMountRotation:获取精灵的绑定朝向,即相对于母体的朝向 ............................... 24 dSetSpriteAutoMountRotation:设置精灵绑定之后自动旋转.................................................... 24 dGetSpriteAutoMountRotation:获取精灵绑定之后的自动旋转值 ........................................... 24 dSetSpriteMountTrackRotation:绑定的精灵是否跟随母体旋转 ............................................... 24 dSetSpriteMountOwned:母体被删除的时候,绑定的精灵是否也跟着被删除 ...................... 24 dSetSpriteMountInheritAttributes:绑定的时候,是否继承母体的属性 .................................. 24 dSpriteDismount:将已经绑定的精灵进行解绑 ......................................................................... 25 dGetSpriteIsMounted:判断精灵是否绑定在另一个精灵上 ...................................................... 25 dGetSpriteMountedParent:获取绑定的母体精灵的名字 .......................................................... 25 dSetSpriteColorRed:更改精灵显示颜色中的红色 ..................................................................... 25 dSetSpriteColorGreen:更改精灵显示颜色中的绿色.................................................................. 25
dSetSpriteColorBlue:更改精灵显示颜色中的蓝色 .................................................................... 25 dSetSpriteColorAlpha:设置精灵透明度 ...................................................................................... 25 dGetSpriteColorRed:获取精灵显示颜色中的红色值 ................................................................. 25 dGetSpriteColorGreen:获取精灵显示颜色中的绿色值 ............................................................. 25 dGetSpriteColorBlue:获取精灵显示颜色中的蓝色值 ................................................................ 26 dGetSpriteColorAlpha:获取精灵透明度 ..................................................................................... 26 dSetStaticSpriteImage:设置/更改静态精灵的显示图片 ............................................................ 26 dSetStaticSpriteFrame:设置静态精灵当前图片的显示帧数 ..................................................... 26 dGetStaticSpriteImage:获取精灵当前显示的图片名字............................................................. 26 dGetStaticSpriteFrame:获取精灵当前显示的图片帧数 ............................................................ 26 dSetAnimateSpriteFrame:设置动态精灵的动画帧数 ................................................................ 26 dIsAnimateSpriteAnimationFinished:判断动态精灵当前动画是否播放完毕 ........................... 26 dGetAnimateSpriteAnimationName:获取动态精灵当前动画名字 ........................................... 27 dGetAnimateSpriteAnimationTime:获取动画精灵当前动画时间长度 ..................................... 27 dAnimateSpritePlayAnimation:动画精灵播放动画 .................................................................... 27 dSetTextValue:文字精灵显示某个数值 ...................................................................................... 27 dSetTextValueFloat:文字精灵显示某个浮点数值 ...................................................................... 27 dSetTextString:文字精灵显示某个字符串文字.......................................................................... 27 dSetTextChar:文字精灵显示某个字符 ....................................................................................... 27 dLoadMap:载入新场景 ............................................................................................................... 27 dPlaySound:播放声音 .................................................................................................................. 28 dStopSound:停止声音的播放 ..................................................................................................... 28 dStopAllSound:停止播放所有声音 ............................................................................................. 28 dPlayEffect:播放一个不循环的特效,播放完毕之后该特效自动删除 ................................... 28 dPlayLoopEffect:播放一个循环特效 ........................................................................................... 28 dDeleteEffect:删除一个正在播放的特效,只有循环特效才需要手动删除 ........................... 28 dGetTimeDelta:获取两次调用本函数之间的时间差 ................................................................ 28 dEngineMainLoop:引擎主循环函数。请勿自己调用................................................................ 29 dInitGameEngine:初始化引擎,请勿自己调用 ......................................................................... 29 dShutdownGameEngine:关闭引擎,请勿自己调用 .................................................................. 29
EWorldLimit – 世界边界碰撞模式 enum EWorldLimit { WORLD_LIMIT_OFF, // 关闭与世界边界的碰撞 WORLD_LIMIT_NULL, // 碰撞之后引擎不做任何处理,由各游戏自己处理响应 WORLD_LIMIT_RIGID, // 刚性物理碰撞反应 WORLD_LIMIT_BOUNCE, // 反弹模式 WORLD_LIMIT_CLAMP, // 小幅反弹,逐渐停止模式(比如篮球落地) WORLD_LIMIT_STICKY, // 碰撞之后静止 WORLD_LIMIT_KILL, // 碰撞之后精灵将被删除 WORLD_LIMIT_INVALID, // 无效值 };
ECollisionResponse - 精灵与精灵之间的碰撞响应 // 碰撞之后API OnSpriteColSprite 将被调用 enum ECollisionResponse { };
COL_RESPONSE_OFF, COL_RESPONSE_RIGID, COL_RESPONSE_BOUNCE, COL_RESPONSE_CLAMP, COL_RESPONSE_STICKY, COL_RESPONSE_KILL, COL_RESPONSE_CUSTOM, COL_RESPONSE_INVALID,
// // // // // // //
关闭碰撞响应(不调用OnSpriteColSprite) 刚性物理碰撞响应 反弹模式
小幅反弹,逐渐停止模式(比如篮球落地) 碰撞之后静止
碰撞之后精灵将被删除
碰撞之后引擎不做任何处理,由各游戏自己处理响应 // 无效值
MouseTypes - 鼠标按键值定义 enum MouseTypes {
MOUSE_LEFT = 0, // 左键 MOUSE_RIGHT = 1, // 右键 MOUSE_MIDDLE = 2 // 中键 };
KeyCodes - 键盘KEY值定义 enum KeyCodes {
KEY_NULL = 0x000, ///< Invalid KeyCode