FunCodeC开发常用API.docx
《FunCodeC开发常用API.docx》由会员分享,可在线阅读,更多相关《FunCodeC开发常用API.docx(12页珍藏版)》请在冰豆网上搜索。
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。
当s1strcmp(szName,“feichong_0”)==0
说明szName与feichong_0相等
可以用来判断前后两个字符串的值相等
当s1=s2时,返回值=0
当s1>s2时,返回值>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(
获取精灵Y坐标
szName:
指向要获得Y坐标的精灵的名字
constchar*szName
);
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(
获取精灵质量
szName:
指向要获得质量的精灵的名字
constchar*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,
在两点之间画一条线
fStartX:
起始坐标X
fStartY:
起始坐标Y
fEndX:
终点坐标X
fEndY:
终点坐标Y
fLineWidth:
线的粗细,大于等于1
iLayer:
改线所在的层,与编辑器里设置的精灵的层级是同一个概念。
范围0-31。
参数iRed,iGreen,iBlue:
红绿蓝三原色的颜色值,范围0-255
constintiAlpha
);
参数iAlpha:
线的透明度,范围0-255.0为全透明,255为不透明
Staticfloat
dRotationToVectorX(
constfloatfRotation
);
计算某个角度对应的直线向量的X方向
返回值:
该直线向量的X值
fRotation:
角度,范围0-360
staticfloat
dRotationToVectorY(
constfloatfRotation
);
计算某个角度对应的直线向量的Y方向
返回值:
该直线向量的Y值
fRotation:
角度,范围0-360
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)