当前位置:文档之家› 07 FunCode C Library

07 FunCode C Library

07 FunCode C Library
07 FunCode C Library

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, // 关闭碰撞响应(不调用OnSpriteColSprite)

COL_RESPONSE_RIGID, // 刚性物理碰撞响应

COL_RESPONSE_BOUNCE, // 反弹模式

COL_RESPONSE_CLAMP, // 小幅反弹,逐渐停止模式(比如篮球落地)

COL_RESPONSE_STICKY, // 碰撞之后静止

COL_RESPONSE_KILL, // 碰撞之后精灵将被删除

COL_RESPONSE_CUSTOM, // 碰撞之后引擎不做任何处理,由各游戏自己处理响应COL_RESPONSE_INVALID, // 无效值

};

MouseTypes - 鼠标按键值定义

enum MouseTypes

{

MOUSE_LEFT = 0, // 左键

MOUSE_RIGHT = 1, // 右键

MOUSE_MIDDLE = 2 // 中键

};

KeyCodes - 键盘KEY值定义

enum KeyCodes

{

KEY_NULL = 0x000, ///< Invalid KeyCode

KEY_TAB = 0x002, KEY_ENTER = 0x003, KEY_CONTROL = 0x004, KEY_ALT = 0x005, KEY_SHIFT = 0x006, KEY_PAUSE = 0x007, KEY_CAPSLOCK = 0x008, KEY_ESCAPE = 0x009, KEY_SPACE = 0x00a, KEY_PAGE_DOWN = 0x00b, KEY_PAGE_UP = 0x00c, KEY_END = 0x00d, KEY_HOME = 0x00e, KEY_LEFT = 0x00f, KEY_UP = 0x010, KEY_RIGHT = 0x011, KEY_DOWN = 0x012, KEY_PRINT = 0x013, KEY_INSERT = 0x014, KEY_DELETE = 0x015, KEY_HELP = 0x016,

KEY_0 = 0x017, KEY_1 = 0x018, KEY_2 = 0x019, KEY_3 = 0x01a, KEY_4 = 0x01b, KEY_5 = 0x01c, KEY_6 = 0x01d, KEY_7 = 0x01e, KEY_8 = 0x01f, KEY_9 = 0x020,

KEY_A = 0x021, KEY_B = 0x022, KEY_C = 0x023, KEY_D = 0x024, KEY_E = 0x025, KEY_F = 0x026, KEY_G = 0x027, KEY_H = 0x028, KEY_I = 0x029, KEY_J = 0x02a,

KEY_L = 0x02c, KEY_M = 0x02d, KEY_N = 0x02e, KEY_O = 0x02f, KEY_P = 0x030, KEY_Q = 0x031, KEY_R = 0x032, KEY_S = 0x033, KEY_T = 0x034, KEY_U = 0x035, KEY_V = 0x036, KEY_W = 0x037, KEY_X = 0x038, KEY_Y = 0x039, KEY_Z = 0x03a,

KEY_TILDE = 0x03b, KEY_MINUS = 0x03c, KEY_EQUALS = 0x03d, KEY_LBRACKET = 0x03e, KEY_RBRACKET = 0x03f, KEY_BACKSLASH = 0x040, KEY_SEMICOLON = 0x041, KEY_APOSTROPHE = 0x042, KEY_COMMA = 0x043, KEY_PERIOD = 0x044, KEY_SLASH = 0x045, KEY_NUMPAD0 = 0x046, KEY_NUMPAD1 = 0x047, KEY_NUMPAD2 = 0x048, KEY_NUMPAD3 = 0x049, KEY_NUMPAD4 = 0x04a, KEY_NUMPAD5 = 0x04b, KEY_NUMPAD6 = 0x04c, KEY_NUMPAD7 = 0x04d, KEY_NUMPAD8 = 0x04e, KEY_NUMPAD9 = 0x04f, KEY_MULTIPLY = 0x050, KEY_ADD = 0x051, KEY_SEPARATOR = 0x052, KEY_SUBTRACT = 0x053, KEY_DECIMAL = 0x054, KEY_DIVIDE = 0x055,

KEY_NUMPADENTER = 0x056,

KEY_F1 = 0x057, KEY_F2 = 0x058, KEY_F3 = 0x059, KEY_F4 = 0x05a, KEY_F5 = 0x05b, KEY_F6 = 0x05c, KEY_F7 = 0x05d, KEY_F8 = 0x05e, KEY_F9 = 0x05f, KEY_F10 = 0x060, KEY_F11 = 0x061, KEY_F12 = 0x062, KEY_F13 = 0x063, KEY_F14 = 0x064, KEY_F15 = 0x065, KEY_F16 = 0x066, KEY_F17 = 0x067, KEY_F18 = 0x068, KEY_F19 = 0x069, KEY_F20 = 0x06a, KEY_F21 = 0x06b, KEY_F22 = 0x06c, KEY_F23 = 0x06d, KEY_F24 = 0x06e,

KEY_NUMLOCK = 0x06f, KEY_SCROLLLOCK = 0x070, KEY_LCONTROL = 0x071, KEY_RCONTROL = 0x072, KEY_LALT = 0x073, KEY_RALT = 0x074, KEY_LSHIFT = 0x075, KEY_RSHIFT = 0x076, KEY_WIN_LWINDOW = 0x077, KEY_WIN_RWINDOW = 0x078, KEY_WIN_APPS = 0x079, KEY_OEM_102 = 0x080,

KEY_MAC_OPT = 0x090, KEY_MAC_LOPT = 0x091, KEY_MAC_ROPT = 0x092,

KEY_BUTTON0 = 0x0100,

KEY_BUTTON1 = 0x0101,

KEY_BUTTON2 = 0x0102,

KEY_BUTTON3 = 0x0103,

KEY_BUTTON4 = 0x0104,

KEY_BUTTON5 = 0x0105,

KEY_BUTTON6 = 0x0106,

KEY_BUTTON7 = 0x0107,

KEY_BUTTON8 = 0x0108,

KEY_BUTTON9 = 0x0109,

KEY_BUTTON10 = 0x010A,

KEY_BUTTON11 = 0x010B,

KEY_BUTTON12 = 0x010C,

KEY_BUTTON13 = 0x010D,

KEY_BUTTON14 = 0x010E,

KEY_BUTTON15 = 0x010F,

KEY_BUTTON16 = 0x0110,

KEY_BUTTON17 = 0x0111,

KEY_BUTTON18 = 0x0112,

KEY_BUTTON19 = 0x0113,

KEY_BUTTON20 = 0x0114,

KEY_BUTTON21 = 0x0115,

KEY_BUTTON22 = 0x0116,

KEY_BUTTON23 = 0x0117,

KEY_BUTTON24 = 0x0118,

KEY_BUTTON25 = 0x0119,

KEY_BUTTON26 = 0x011A,

KEY_BUTTON27 = 0x011B,

KEY_BUTTON28 = 0x011C,

KEY_BUTTON29 = 0x011D,

KEY_BUTTON30 = 0x011E,

KEY_BUTTON31 = 0x011F,

KEY_ANYKEY = 0xfffe

};

dOnMouseMove:鼠标移动后将被调用的函数

// 参数fMouseX, fMouseY:为鼠标当前坐标

extern void dOnMouseMove( const float fMouseX, const float fMouseY );

dOnMouseClick:鼠标按下后将被调用的函数

// 参数iMouseType:鼠标按键值,见enum MouseTypes 定义

// 参数fMouseX, fMouseY:为鼠标当前坐标

extern void dOnMouseClick( const int iMouseType, const float fMouseX, const float

fMouseY );

dOnKeyDown:键盘被按下后将被调用的函数

// 参数iKey:被按下的键,值见enum KeyCodes 宏定义

// 参数iAltPress, iShiftPress,iCtrlPress:键盘上的功能键Alt,Ctrl,Shift当前是否也处于按下状态(0未按下,1按下)

extern void dOnKeyDown( const int iKey, const int iAltPress, const int iShiftPress, const int iCtrlPress );

dOnKeyUp:键盘按键弹起后将被调用的函数

// 参数iKey:弹起的键,值见enum KeyCodes 宏定义

extern void dOnKeyUp( const int iKey );

dOnSpriteColSprite:精灵与精灵碰撞后将被调用的函数

// 精灵之间要产生碰撞,必须在编辑器或者代码里设置精灵发送及接受碰撞

// 参数szSrcName:发起碰撞的精灵名字

// 参数szTarName:被碰撞的精灵名字

extern void dOnSpriteColSprite( const char *szSrcName, const char *szTarName );

dOnSpriteColWorldLimit:精灵与世界边界碰撞后将被调用的函数

// 精灵之间要产生碰撞,必须在编辑器或者代码里设置精灵的世界边界限制

// 参数szName:碰撞到边界的精灵名字

// 参数iColSide:碰撞到的边界0 左边,1 右边,2 上边,3 下边

extern void dOnSpriteColWorldLimit( const char *szName, const int iColSide );

dMakeSpriteName: 将前面的字符串与后面的数字整合成一个字符串

// 参数szPrev:一个非空字符串,最长不能超过20个英文字符。名字前面的字符。

// 参数iId:一个数字

// 返回值:返回一个字符串,比如传入("xxx", 2),则返回"xxx2"

extern char* dMakeSpriteName(const char *szPrev, const int iId);

dCursorOff:关闭鼠标不显示

extern void dCursorOff();

dCursorOn:开启鼠标显示

extern void dCursorOn();

dIsCursorOn:当前鼠标是开启还是关闭

// 返回值:1为开启状态,0为关闭状态

extern int dIsCursorOn();

dShowCursor:隐藏/显示鼠标

// 参数iShow:1 为显示,0 为隐藏

extern void dShowCursor( const int iShow );

dIsShowCursor:当前鼠标是显示还是隐藏

// 返回值:1为开启状态,0为关闭状态

extern int dIsShowCursor();

dSetWindowTitle:设置窗口名字/标题

// 参数szTitle:非空字符串

extern void dSetWindowTitle( const char *szTitle );

dResizeWindow:更改窗口大小

// 参数iWidth:宽度,大于0小于等于1920

// 参数iHeight:高度,大于0小于等于1080

extern void dResizeWindow(int iWidth, int iHeight);

dGetHwnd:获取窗口句柄

// 返回值:窗口句柄

extern void* dGetHwnd();

dRandom:获取一个大于等于0的随机数

// 返回值:int,范围0 - 2147483648

extern int dRandom();

dRandomRange:获取一个位于参数1到参数2之间的随机数

// 返回值:int,范围iMin - iMax

// 参数iMin:小于iMax的整数

// 参数iMax:大于iMin的整数

extern int dRandomRange( const int iMin, const int iMax );

dCalLineRotation:计算两点连线的直线的旋转角度

// 返回值:角度,范围0 - 360

// 参数fStartX:起始坐标X

// 参数fStartY:起始坐标Y

// 参数fEndX:终点坐标X

// 参数fEndY:终点坐标Y

extern float dCalLineRotation( const float fStartX, const float fStartY, const float fEndX, const float fEndY );

dRotationToVectorX:计算某个角度对应的直线向量的X方向

// 参数fRotation:角度,范围0 - 360

// 返回值:该直线向量的X值

extern float dRotationToVectorX( const float fRotation );

dRotationToVectorY:计算某个角度对应的直线向量的Y方向

// 参数fRotation:角度,范围0 - 360

// 返回值:该直线向量的Y值

extern float dRotationToVectorY( const float fRotation );

dDrawLine:在两点之间画一条线

// 参数fStartX:起始坐标X

// 参数fStartY:起始坐标Y

// 参数fEndX:终点坐标X

// 参数fEndY:终点坐标Y

// 参数fLineWidth:线的粗细,大于等于1

// 参数iLayer:该线所在的层,与编辑器里设置的精灵的层级是同一个概念。范围0 - 31。// 参数iRed, iGreen, iBlue : 红绿蓝三原色的颜色值,范围0 - 255

// 参数iAlpha:线的透明度,范围0-255. 0为全透明,255为不透明

extern void dDrawLine( const float fStartX, const float fStartY, const float fEndX, const float fEndY, const float fLineWidth, const int iLayer, const int iRed, const int iGreen, const int iBlue, const int iAlpha );

dDrawTriangle:画一个三角形

// 参数fX1,fX2,fX3:三角形上三个点的X坐标

// 参数fY1,fY2,fY3:三角形上三个点的Y坐标

// 参数fLineWidth:线的粗细,大于等于1

// 参数iLayer:该三角形所在的层,与编辑器里设置的精灵层级是同一个概念。范围0 - 31。// 参数iRed, iGreen, iBlue : 红绿蓝三原色的颜色值,范围0 - 255

// 参数iAlpha:三角形的透明度,范围0-255. 0为全透明,255为不透明

extern void dDrawTriangle( const float fX1, const float fY1, const float fX2, const float fY2, const float fX3, const float fY3, const float fLineWidth, const int iLayer, const int iRed, const int iGreen, const int iBlue, const int iAlpha );

dDrawRect:画一个矩形

// 参数fUpperX:左上角坐标X

// 参数fUpperY:左上角坐标Y

// 参数fLowerX:右下角坐标X

// 参数fLowerY:右下角坐标Y

// 参数fLineWidth:线的粗细,大于等于1

// 参数iLayer:该矩形所在的层,与编辑器里设置的精灵的层级是同一个概念。范围0 - 31。// 参数iRed, iGreen, iBlue : 红绿蓝三原色的颜色值,范围0 - 255

// 参数iAlpha:矩形的透明度,范围0-255. 0为全透明,255为不透明

extern void dDrawRect( const float fUpperX, const float fUpperY, const float fLowerX, const float fLowerY, const float fLineWidth, const int iLayer, const int iRed, const int iGreen, const int iBlue, const int iAlpha );

dDrawCircle:画一个圆

// 参数fCenterX:圆心坐标X

// 参数fCenterY:圆心坐标Y

// 参数fRadius:圆的半径

// 参数iSegment:圆弧段数,范围4-72. 比如传入6,将得到一个6边形,段数越大越圆滑,但是画图效率越低

// 参数fLineWidth:线的粗细,大于等于1

// 参数iLayer:该圆所在的层,与编辑器里设置的精灵的层级是同一个概念。范围0 - 31。// 参数iRed, iGreen, iBlue : 红绿蓝三原色的颜色值,范围0 - 255

// 参数iAlpha:圆的透明度,范围0-255. 0为全透明,255为不透明

extern void dDrawCircle( const float fCenterX, const float fCenterY, const float fRadius, const int iSegment, const float fLineWidth, const int iLayer, const int iRed, const int iGreen, const int iBlue, const int iAlpha );

dGetScreenLeft:获取世界边界之左边X坐标

// 返回值:左边界X坐标

extern float dGetScreenLeft();

dGetScreenTop:获取世界边界之上边Y坐标

// 返回值:上边界Y坐标

extern float dGetScreenTop();

dGetScreenRight:获取世界边界之右边X坐标

// 返回值:右边界X坐标

extern float dGetScreenRight();

dGetScreenBottom:获取世界边界之下边Y坐标

// 返回值:下边界Y坐标

extern float dGetScreenBottom();

dCloneSprite:复制(创建)一个精灵

// 返回值:1表示克隆成功,0克隆失败。失败的原因可能是在地图中未找到对应名字的精灵

// 参数szSrcName:地图中用做模板的精灵名字

// 参数szMyName:新的精灵名字

extern int dCloneSprite( const char *szSrcName, const char *szMyName );

dDeleteSprite:在地图中删除一个精灵

// 参数szName:要删除的精灵名字

extern void dDeleteSprite( const char *szName );

dSetSpriteVisible:设置精灵隐藏或者显示

// 参数szName:精灵名字

// 参数iVisible:1 可见0不可见

extern void dSetSpriteVisible( const char *szName, const int iVisible );

dIsSpriteVisible:获取该精灵当前是否可见

// 返回值1可见0不可见

// 参数szName:精灵名字

extern int dIsSpriteVisible( const char *szName );

dSetSpriteEnable:禁止或者启用该精灵

// 参数szName:精灵名字

// 参数iEnable:1启用0禁止

extern void dSetSpriteEnable( const char *szName, const int iEnable );

dSetSpriteScale:设置精灵的缩放值

// 参数szName:精灵名字

// 参数fScale:缩放值。大于0的值

extern void dSetSpriteScale( const char *szName, const float fScale );

dIsPointInSprite:判断某个坐标点是否位于精灵内部

// 返回值1 在0 不在

// 参数szName:精灵名字

// 参数fPosX:X坐标点

// 参数fPosY:Y坐标点

extern int dIsPointInSprite( const char *szName, const float fPosX, const float fPosY );

dSetSpritePosition:设置精灵位置

// 参数szName:精灵名字

// 参数fPosX:X坐标

// 参数fPosY:Y坐标

extern void dSetSpritePosition( const char *szName, const float fPosX, const float fPosY );

dSetSpritePositionX:只设置精灵X坐标

// 参数szName:精灵名字

// 参数fPosX:X坐标

extern void dSetSpritePositionX( const char *szName, const float fPosX );

dSetSpritePositionY:只设置精灵Y坐标

// 参数szName:精灵名字

// 参数fPosY:Y坐标

extern void dSetSpritePositionY( const char *szName, const float fPosY );

dGetSpritePositionX:获取精灵X坐标

// 参数szName:精灵名字

// 返回值:精灵的X坐标

extern float dGetSpritePositionX( const char *szName );

dGetSpritePositionY:获取精灵Y坐标

// 参数szName:精灵名字

// 返回值:精灵的Y坐标

extern float dGetSpritePositionY( const char *szName );

dGetSpriteLinkPointPosX:获取精灵链接点X坐标

// 参数szName:精灵名字

// 参数iId:链接点序号,第一个为1,后面依次递加

extern float dGetSpriteLinkPointPosX( const char *szName, const int iId );

dGetSpriteLinkPointPosY:获取精灵链接点Y坐标

// 参数szName:精灵名字

// 参数iId:链接点序号,第一个为1,后面依次递加

extern float dGetSpriteLinkPointPosY( const char *szName, const int iId );

dSetSpriteRotation:设置精灵的旋转角度

// 参数szName:精灵名字

// 参数fRot:旋转角度,范围0 - 360

extern void dSetSpriteRotation( const char *szName, const float fRot );

dGetSpriteRotation:获取精灵的旋转角度

// 参数szName:精灵名字

// 返回值:精灵的旋转角度

extern float dGetSpriteRotation( const char *szName );

dSetSpriteAutoRot:设置精灵按照指定速度自动旋转

// 参数szName:精灵名字

// 参数fRotSpeed:旋转速度

extern void dSetSpriteAutoRot( const char *szName, const float fRotSpeed );

dSetSpriteWidth:设置精灵外形宽度

// 参数szName:精灵名字

// 参数fWidth:宽度值,大于0

extern void dSetSpriteWidth( const char *szName, const float fWidth );

dGetSpriteWidth:获取精灵外形宽度

// 参数szName:精灵名字

// 返回值:精灵宽度值

extern float dGetSpriteWidth( const char *szName );

dSetSpriteHeight:设置精灵外形高度

// 参数szName:精灵名字

// 参数fHeight:精灵高度值

extern void dSetSpriteHeight( const char *szName, const float fHeight );

dGetSpriteHeight:获取精灵外形高度

// 参数szName:精灵名字

// 返回值:精灵高度值

extern float dGetSpriteHeight( const char *szName );

dSetSpriteFlipX:设置精灵图片X方向翻转显示

// 参数szName:精灵名字

// 参数iFlipX:1 翻转0不翻转(恢复原来朝向)

extern void dSetSpriteFlipX( const char *szName, const int iFlipX );

dGetSpriteFlipX:获取当前精灵图片X方向是否是翻转显示

// 参数szName:精灵名字

// 返回值:1 翻转0不翻转

extern int dGetSpriteFlipX( const char *szName );

dSetSpriteFlipY:设置精灵图片Y方向翻转显示

// 参数szName:精灵名字

// 参数iFlipY:1 翻转0不翻转(恢复原来朝向)

extern void dSetSpriteFlipY( const char *szName, const int iFlipY );

dGetSpriteFlipY:获取当前精灵图片Y方向是否是翻转显示

// 参数szName:精灵名字

// 返回值:1 翻转0不翻转

extern int dGetSpriteFlipY( const char *szName );

dSetSpriteFlip:同时设置精灵翻转X及Y方向

// 参数szName:精灵名字

// 参数iFlipX:1 翻转0不翻转(恢复原来朝向)

// 参数iFlipY:1 翻转0不翻转(恢复原来朝向)

extern void dSetSpriteFlip( const char *szName, const int iFlipX, const int iFlipY );

dSetSpriteLifeTime:设置精灵的生命时长,时间到了之后将自动被删除

// 参数szName:精灵名字

// 参数fLifeTime:生命时长,单位秒

extern void dSetSpriteLifeTime( const char *szName, const float fLifeTime );

dGetSpriteLifeTime:获取精灵生命时长

// 参数szName:精灵名字

// 返回值:生命时长,单位秒

extern float dGetSpriteLifeTime( const char *szName );

dSpriteMoveTo:让精灵按照给定速度移动到给定坐标点

// 参数szName:精灵名字

// 参数fPosX:移动的目标X坐标值

// 参数fPosY:移动的目标Y坐标值

// 参数fSpeed:移动速度

// 参数iAutoStop:移动到终点之后是否自动停止, 1 停止0 不停止

extern void dSpriteMoveTo( const char *szName, const float fPosX, const float fPosY, const float fSpeed, const int iAutoStop );

dSpriteRotateTo:让精灵按照给定速度旋转到给定的角度

// 参数szName:精灵名字

// 参数fRotation:给定的目标旋转值

// 参数fRotSpeed:旋转速度

// 参数iAutoStop:旋转到终点之后是否自动停止, 1 停止0 不停止

extern void dSpriteRotateTo( const char *szName, const float fRotation, const float fRotSpeed, const int iAutoStop );

dSetSpriteWorldLimit:设置精灵的世界边界坐标限制及碰撞模式

// 参数szName:精灵名字

// 参数Limit:碰撞到世界边界之后的响应模式,如果为OFF,则是关闭世界边界碰撞。其它值见EWorldLimit

// 参数fLeft:边界的左边X坐标

// 参数fTop:边界的上边Y坐标

// 参数fRight:边界的右边X坐标

// 参数fBottom:边界的下边Y坐标

extern void dSetSpriteWorldLimit( const char *szName, const EWorldLimit Limit, const float fLeft, const float fTop, const float fRight, const float fBottom );

dSetSpriteWorldLimitMode:设置精灵的世界边界碰撞模式

// 参数szName:精灵名字

// 参数Limit:碰撞到世界边界之后的响应模式,如果为OFF,则是关闭世界边界碰撞。其它值见EWorldLimit

extern void dSetSpriteWorldLimitMode( const char *szName, const EWorldLimit Limit );

dSetSpriteWorldLimitMin:设置精灵的世界边界上边及左边坐标限制

// 参数szName:精灵名字

// 参数fLeft:边界的左边X坐标

// 参数fTop:边界的上边Y坐标

extern void dSetSpriteWorldLimitMin( const char *szName, const float fLeft, const float fTop );

dSetSpriteWorldLimitMax:设置精灵的世界边界下边及右边坐标限制

// 参数szName:精灵名字

// 参数fRight:边界的右边X坐标

// 参数fBottom:边界的下边Y坐标

extern void dSetSpriteWorldLimitMax( const char *szName, const float fRight, const float fBottom );

dGetSpriteWorldLimitLeft:获取精灵世界边界左边界限制

// 参数szName:精灵名字

extern float dGetSpriteWorldLimitLeft( const char *szName);

dGetSpriteWorldLimitTop:获取精灵世界边界上边界限制

// 参数szName:精灵名字

extern float dGetSpriteWorldLimitTop( const char *szName);

dGetSpriteWorldLimitRight:获取精灵世界边界右边界限制

// 参数szName:精灵名字

extern float dGetSpriteWorldLimitRight( const char *szName);

dGetSpriteWorldLimitBottom:获取精灵世界边界下边界限制

extern float dGetSpriteWorldLimitBottom( const char *szName);

dSetSpriteCollisionSend:设置精灵是否可以发送(产生)碰撞

// 精灵的碰撞方式为:当A移动中碰上B时,如果A是可以产生碰撞的,B是可以接受碰撞的,则这2个物体会产生碰撞,精灵碰撞的API将被调用。否则无碰撞发生

// 参数szName:精灵名字

// 参数iSend:1 可以产生0 不产生

extern void dSetSpriteCollisionSend( const char *szName, const int iSend );

dSetSpriteCollisionReceive:设置精灵是否可以接受碰撞

// 精灵的碰撞方式为:当A移动中碰上B时,如果A是可以产生碰撞的,B是可以接受碰撞的,则这2个物体会产生碰撞,精灵碰撞的API将被调用。否则无碰撞发生

// 参数szName:精灵名字

// 参数iReceive:1 可以接受0 不接受

extern void dSetSpriteCollisionReceive( const char *szName, const int iReceive );

dSetSpriteCollisionPhysicsSend:设置精灵是否可以发送(产生)物理碰撞

// 参数iSend:1 可以产生0 不产生

extern void dSetSpriteCollisionPhysicsSend( const char *szName, const int iSend );

dSetSpriteCollisionPhysicsReceive:设置精灵是否可以接受物理碰撞

// 参数iReceive:1 可以接受0 不接受

extern void dSetSpriteCollisionPhysicsReceive( const char *szName, const int iReceive );

dSetSpriteCollisionActive:同时设置精灵是否可以产生及接受碰撞

// 精灵的碰撞方式为:当A移动中碰上B时,如果A是可以产生碰撞的,B是可以接受碰撞的,则这2个物体会产生碰撞,精灵碰撞的API将被调用。否则无碰撞发生

// 参数szName:精灵名字

// 参数iSend:1 可以产生0 不产生

// 参数iReceive:1 可以接受0 不接受

extern void dSetSpriteCollisionActive( const char *szName, const int iSend, const int iReceive );

dGetSpriteCollisionSend:获取精灵当前是否是可以产生碰撞

// 参数szName:精灵名字

// 返回值:1 可以产生0 不产生

extern int dGetSpriteCollisionSend( const char *szName );

dGetSpriteCollisionReceive:获取精灵当前是否是可以接受碰撞

// 参数szName:精灵名字

// 返回值:1 可以接受0 不接受

extern int dGetSpriteCollisionReceive( const char *szName );

dSetSpriteCollisionResponse:设置精灵与精灵的碰撞响应模式

// 参数szName:精灵名字

// 参数Response:响应模式,如果为OFF,则为关闭碰撞响应,碰撞API将不会被调用。其它值见ECollisionResponse

extern void dSetSpriteCollisionResponse( const char *szName, const ECollisionResponse Response );

dSetSpriteCollisionMaxIterations:设置精灵碰撞之后的最大反弹次数

// 参数szName:精灵名字

// 参数iTimes:反弹次数

extern void dSetSpriteCollisionMaxIterations( const char *szName, const int iTimes );

dSetSpriteForwardMovementOnly:设置精灵是否只能朝前移动

// 参数szName:精灵名字

// 参数iForward:1 只能朝前移动0 可以朝其他方向移动

extern void dSetSpriteForwardMovementOnly( const char *szName, const int iForward );

dGetSpriteForwardMovementOnly:获取精灵当前是否只能朝前移动

// 参数szName:精灵名字

// 返回值:1 只能朝前移动0 可以朝其它方向移动

extern int dGetSpriteForwardMovementOnly( const char *szName );

dSetSpriteForwardSpeed:设置精灵向前的速度

// 参数szName:精灵名字

// 参数fSpeed:速度

extern void dSetSpriteForwardSpeed( const char *szName, const float fSpeed );

dSetSpriteImpulseForce:设置精灵瞬间推力

// 参数szName:精灵名字

// 参数fForceX:X方向推力大小

// 参数fForceY:Y方向推力大小

// 参数iGravitic:是否计算重力: 1 计算,0不计算

extern void dSetSpriteImpulseForce( const char *szName, const float fForceX, const float

fForceY, const int iGravitic );

dSetSpriteImpulseForcePolar:按角度朝向设置精灵瞬间推力

// 参数szName:精灵名字

// 参数fPolar:角度朝向

// 参数fForce:推力大小

// 参数iGravitic:是否计算重力: 1 计算,0不计算

extern void dSetSpriteImpulseForcePolar( const char *szName, const float fPolar, const float fForce, const int iGravitic );

dSetSpriteConstantForceX:设置精灵X方向常量推力

// 参数szName:精灵名字

// 参数fForceX:X方向推力大小

extern void dSetSpriteConstantForceX(const char *szName, const float fForceX );

dSetSpriteConstantForceY:设置精灵Y方向常量推力

// 参数szName:精灵名字

// 参数fForceY:Y方向推力大小

extern void dSetSpriteConstantForceY(const char *szName, const float fForceY );

dSetSpriteConstantForceGravitic:精灵在计算常量推力的时候,是否计算重力

// 参数szName:精灵名字

// 参数iGravitic:是否计算重力: 1 计算0不计算

extern void dSetSpriteConstantForceGravitic(const char *szName, const int iGravitic );

dSetSpriteConstantForce:设置精灵常量推力

// 参数szName:精灵名字

// 参数fForceX:X方向推力大小

// 参数fForceY:Y方向推力大小

// 参数iGravitic:是否计算重力: 1 计算0不计算

extern void dSetSpriteConstantForce(const char *szName, const float fForceX, const float fForceY, const int iGravitic );

dSetSpriteConstantForcePolar:按角度朝向设置精灵常量推力

// 参数szName:精灵名字

// 参数fPolar:角度朝向

// 参数fForce:推力大小

// 参数iGravitic:是否计算重力: 1 计算0不计算

extern void dSetSpriteConstantForcePolar(const char *szName, const float fPolar, const float fForce, const int iGravitic );

dStopSpriteConstantForce:停止精灵常量推力

// 参数szName:精灵名字

extern void dStopSpriteConstantForce(const char *szName);

相关主题
文本预览
相关文档 最新文档