FunCode C 开发常用API.docx
- 文档编号:27959012
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:11
- 大小:18.81KB
FunCode C 开发常用API.docx
《FunCode C 开发常用API.docx》由会员分享,可在线阅读,更多相关《FunCode C 开发常用API.docx(11页珍藏版)》请在冰豆网上搜索。
FunCodeC开发常用API
FunCodeC开发常用API
C语言标准库函数
在实验中,我们需要用到一些C语言标准库函数,主要用于字符串处理,获得随机值,处理数学函数等。
Math.h
函数原型
功能与返回值
参数说明与应用举例
publicstaticdoubleatan2(
doubley,doublex
);
返回两点之间的正切值
x:
点的x坐标
y:
点的y坐标
floatftan
=atan2((fMouseY-fY),(fMouseX-fX));
floatsqrt(
floatx
);
功能:
计算平方根
返回值:
x的平方根
sqrt(9)=3
Stdio.h
函数原型
功能与返回值
参数说明与应用举例
intsprintf(
char*buffer,
constchar*format,[argument]…
);
把格式化的数据写入某个字符串缓冲区。
返回值:
字符串长度(strlen)
buffer:
char型指针,指向将要写入的字符串的缓冲区。
format:
char型指针,指向的内存里面存放的将要格式字符串。
[argument]...:
可选参数,可以是任何类型的数据。
sprintf(szUfoName,"ufo_%d_%d",iLoop,iTotalUfoCount);
String.h
函数原型
功能与返回值
参数说明与应用举例
externchar*strstr(
char*str1,
char*str2
);
找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
返回值:
返回该位置的指针,如找不到,返回空指针。
strstr(szName,“feichong”)!
=NULL
说明szName中包含feichong
可以用来判断前一个字符串包含后面一个字符串
externintstrcmp(
constchar*s1,
constchar*s2
);
比较字符串s1和s2。
当s1 当s1=s2时,返回值=0 当s1>s2时,返回值>0 strcmp(szName,“feichong_0”)==0 说明szName与feichong_0相等 可以用来判断前后两个字符串的值相等 externchar*strcpy( char*dest, constchar*src ); 把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 返回指向dest的指针。 strcpy(“big”,”ufo”); 前一个字符串的内容变为”ufo” void*memcpy( constchar*dest, constchar*src, size_tn, ); 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中 函数返回dest的值 memcpy(m_iGridData,m_iLevelData2,sizeof(int)*GRID_COUNT*GRID_COUNT); externunsignedintstrlen( char*s ); 计算字符串s的(unsignedint型)长度,不包括'\0'在内 返回s的长度,不包括结束符NULL。 intiStrLen=strlen(“ufo”); FunCodeCAPI 播放静态精灵的API API 功能与返回值 参数说明 intdCloneSprite(constchar*szSrcName,constchar*szMyName); 1表示克隆成功,0克隆失败。 失败的原因可能是在地图中未找到对应名字的精灵 szSrcName: 被复制的精灵模板的名称 szMyName: 指向我们复制出来精灵的名字 Void dSetSpriteWidth(constchar*szName,constfloatfWidth); 设置精灵外形宽度 数组szName: 指向我们要设置宽度的精灵的名字 fWidth: 宽度值,大于0 floatdGetSpriteWidth(constchar*szName); 获取精灵外形宽度 返回值: 精灵宽度值 szName: 指向要获得宽度的精灵 VoiddSetSpriteHeight(constchar*szName,constfloatfHeight ); 设置精灵外形高度 szName: 指向要设置高度的精灵的名字 fHeight: 精灵高度值 floatdGetSpriteHeight(constchar*szName); 获取精灵外形高度 szName: 指向要获得高度的精灵的名字 voiddSetSpriteLinearVelocity(constchar*szName,constfloatfVelX,constfloatfVelY ); 设置精灵移动速度 szName: 指向要设置速度的精灵的名字 fVelX: X方向速度 fVelY: Y方向速度 floatdGetSpriteLinearVelocityX(constchar*szName); 获取精灵X方向速度 szName: 指向要获得速度的精灵的名字 floatdGetSpriteLinearVelocityY(constchar*szName); 获取精灵Y方向速度 szName: 指向要获得速度的精灵的名字 voiddSetSpriteLinearVelocityPolar(constchar*szName, constfloatfSpeed, constfloatfPolar ); 按角度朝向设置精灵移动速度 szName: 指向要设置角速度的精灵的名字 fSpeed: 移动速度 fPolar: 角度朝向 voiddSetSpriteCollisionSend(constchar*szName,constintiSend); 设置精灵是否可以发送(产生)碰撞 szName: 指向要设置发送碰撞的精灵的名字 iSend: 1可以发送碰撞 0不可以发送碰撞 voiddSetSpriteCollisionReceive(constchar*szName, constintiReceive; ); 设置精灵是否可以接受碰撞 szName: 指向要设置接收碰撞的精灵的名字 iReceive: 1可以接受碰撞 0不接受碰撞 VoiddSetSpriteWorldLimit( constchar*szName, constEWorldLimitLimit, constfloatfLeft, constfloatfTop, constfloatfRight, constfloatfBottom ); 设置精灵的世界边界坐标限制及碰撞模式 szName: 指向要设置世界边界和碰撞模式的精灵的名字 Limit: 碰撞到世界边界之后的响应模式,如果为NULL,碰撞反应由代码决定。 其它值见EWorldLimit fLeft: 边界的左边X坐标 fTop: 边界的上边Y坐标 fRight: 边界的右边X坐标 fBottom: 边界的下边Y坐标 voiddSetSpriteFlipX( constchar*szName, constintiFlipX ); 设置精灵图片X方向翻转显示 szName: 指向要翻转的精灵的名字 iFlipX: 1翻转 0不翻转(恢复原来朝向) voiddSetSpriteVisible( constchar*szName, constintiVisible ); 设置精灵隐藏或者显示(可见不可见) szName: 指向要隐藏的精灵的名字 iVisible: 1可见 0不可见 voiddDeleteSprite( constchar*szName); 在地图中删除与本对象实例关联的精灵 szName: 指向要删除的精灵的名字 voiddSpriteMoveTo( constchar*szName, constfloatfPosX, constfloatfPosY, constfloatfSpeed, constintiAutoStop ); 让精灵按照给定速度移动到给定坐标点 szName: 指向要移动的精灵的名字 fPosX: 移动的目标X坐标值 fPosY: 移动的目标Y坐标值 fSpeed: 移动速度 iAutoStop: 移动到终点之后是否自动停止。 1表示停止;0不停止。 voiddSetSpritePosition( cosntchar*szName, constfloatfPosX, constfloatfPosY ); 设置精灵位置 szName: 指向要设置位置的精灵的名字 fPosX: X坐标 fPosY: Y坐标 voiddSetSpritePositionX( constchar*szName, constfloatfPosX ); 只设置精灵X坐标 szName: 指向要设置位置的精灵的名字 fPosX: X坐标 voiddSetSpritePositionY( constchar*szName, constfloatfPosY ); 只设置精灵Y坐标 szName: 指向要设置位置的精灵的名字 fPosY: Y坐标 floatdGetSpritePositionX( constchar*szName ); 获取精灵X坐标。 szName: 指向要获得X坐标的精灵的名字 floatdGetSpritePositionY( constchar*szName ); 获取精灵Y坐标 szName: 指向要获得Y坐标的精灵的名字 voiddSetSpriteRotation( constchar*szName, constfloatfRot ); 设置精灵的旋转角度 szName: 指向要设置旋转的精灵的名字 参数fRot: 旋转角度,范围0-360 floatdGetSpriteRotation( constchar*szName); 获取精灵的旋转角度 szName: 指向要获得旋转角度的精灵的名字 voidSetSpriteLifeTime( constchar*szName, constfloatfLifeTime ); 设置精灵的生命时长。 超过生命时长,精灵被删除。 szName: 指向要设置精灵生命周期的名字 fLifeTime: 生命时长,单位秒 VoiddSetSpriteConstantForceX ( constchar*szName, constfloatfForceX ); 设置精灵X方向常量推力 szName: 指向要设置X方向常量推力的精灵的名字 fForceX: X方向推力大小 voiddSetSpriteConstantForceY( constchar*szName, constfloatfForceY ); 设置精灵Y方向常量推力 szName: 指向要设置Y方向常量推力的精灵的名字 fForceY: Y方向推力大小 floatdGetSpriteLinkPointPosX( constchar*szName, constintiId ); 获取精灵链接点X坐标 szName: 指向要获得X方向链接点的精灵的名字 参数iId: 链接点序号,第一个链接点为1,后面依次递加 float dGetSpriteLinkPointPosY( constchar*szName, constintiId ); 获取精灵链接点Y坐标。 szName: 指向要获得Y方向链接点的精灵的名字 参数iId: 链接点序号,第一个链接为1,后面依次递加 voiddSetSpriteImpulseForcePolar( constchar*szName, constfloatfPolar, constfloatfForce, constintiGravitic ); 按角度朝向设置精灵瞬间推力 szName: 指向要设置瞬间推力的精灵的名字 fPolar: 角度朝向 fForce: 推力大小 iGravitic: 是否计算重力 1: 计算 0: 不计算 floatdGetSpriteMass( constchar*szName); 获取精灵质量 返回值: 质量大小 szName: 指向要获得质量的精灵的名字 播放动态精灵的API API 功能与返回值 参数说明 intdAnimateSpritePlayAnimation( constchar*szName, constchar*szAnim, constintiRestore ); 动画精灵播放动画 返回值: 是否播放成功 1表示成功, 0表示不成功 szName: 指向要播放动画的精灵的名字 szAnim: 动画名字。 注意不是精灵名称。 bRestore: 播放完毕后是否恢复当前动画1: 恢复 0: 不恢复 charszGotGoldName[20];设置文字精灵的API 类成员函数 功能与返回值 参数说明 voiddSetTextValue( constchar*szName, intiValue ); 文字精灵显示某个数值 szName: 指向文字精灵的名字 iValue: 要显示的数值 设置特效精灵的API API 功能与返回值 参数说明 voiddPlayEffect( constchar*szSrcName, constfloatfLifeTime, constfloatfPosX, constfloatfPosY, constfloatfRotation ); 播放一个不循环的特效,播放完毕之后该特效自动删除 szSrcName: 特效精灵的名字, fLifeTime: 特效精灵的生命长度, fPosX: 播放的X坐标 fPosY: 播放的Y坐标 fRotation: 播放的角度朝向 设置播放声音的API API 功能与返回值 参数说明 voiddPlaySound( constchar*szName, constintiLoop, constfloatfVolume); 播放声音特效 szName: 播放声音的路径或者名称 iLoop: 是播放否循环播放 1: 循环播放 0: 不循环播放 fVolume: 0-1音量的大小 voiddStopSound( constintiSoundId); 停止播放该声音 iSoundId: 播放声音的时候返回的声音的ID 系统相关功能的API API 功能与返回值 参数说明 staticfloat dGetScreenLeft(); 获取世界边界之左边X坐标 staticfloat dGetScreenTop(); 获取世界边界之上边Y坐标 staticfloat dGetScreenRight(); 获取世界边界之右边X坐标 staticfloat dGetScreenBottom(); 获取世界边界之下边Y坐标 staticchar* dMakeSpriteName( constchar*szPrev, constintiId ); 将前面的字符串与后面的数字整合成一个字符串。 返回值: 返回一个字符串,比如传入("xxx",2),则返回"xxx2" szPrev: 一个非空字符串,最长不能超过20个英文字符。 iId: 一个数字 CSystem: : MakeSpriteName(“xxx”,2); 得到xxx2的字符串 staticvoid dSetWindowTitle( constchar*szTitle ); 设置窗口名字/标题 szTitle: 非空字符串 staticintdRandomRange( constintiMin, constintiMax ); 获取一个位于参数1到参数2之间的随机数 返回值: int,范围iMin-iMax iMin: 小于iMax的整数 iMax: 大于iMin的整数 staticvoiddShowCursor( constboolbShow ); 隐藏/显示鼠标 bShow: true为显示 false为隐藏 staticvoiddDrawLine( constfloatfStartX, constfloatfStartY, constfloatfEndX, constfloatfEndY, constfloatfLineWidth, constintiLayer, constintiRed, constintiGreen, constintiBlue, constintiAlpha ); 在两点之间画一条线 fStartX: 起始坐标X fStartY: 起始坐标Y fEndX: 终点坐标X fEndY: 终点坐标Y fLineWidth: 线的粗细,大于等于1 iLayer: 改线所在的层,与编辑器里设置的精灵的层级是同一个概念。 范围0-31。 参数iRed,iGreen,iBlue: 红绿蓝三原色的颜色值,范围0-255 参数iAlpha: 线的透明度,范围0-255.0为全透明,255为不透明 Staticfloat dRotationToVectorX( constfloatfRotation ); 计算某个角度对应的直线向量的X方向 返回值: 该直线向量的X值 fRotation: 角度,范围0-360 staticfloat dRotationToVectorY( constfloatfRotation ); 计算某个角度对应的直线向量的Y方向 返回值: 该直线向量的Y值 fRotation: 角度,范围0-360
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FunCode 开发常用API 开发 常用 API