



版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、FunCode C 開(kāi)發(fā)常用APIC語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)在實(shí)驗(yàn)中,我們需要用到一些 C 語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù),主要用于字符串處理,獲得隨機(jī)值,處理數(shù)學(xué)函數(shù)等。Math.h函數(shù)原型功能與返回值參數(shù)說(shuō)明與應(yīng)用舉例publicstaticdouble返回兩點(diǎn)之間的正x:點(diǎn)的 x 坐標(biāo)atan2(切值y:點(diǎn)的 y 坐標(biāo)double y, double xfloat ftan) ;= atan2(fMouseY-fY),(fMouseX-fX);float sqrt(功能:計(jì)算平方根sqrt(9) = 3float x返回值: x 的平方根);Stdio.h函數(shù)原型功能與返回值參數(shù)說(shuō)明與應(yīng)用舉例int sprint
2、f(把格式化的數(shù)據(jù)寫(xiě)buffer : char 型指針,指向?qū)⒁獙?xiě)入的char *buffer,入某個(gè)字符串緩沖字符串的緩沖區(qū)。constchar*format,區(qū)。format: char 型指針,指向的內(nèi)存里面 argument返回值:字符串長(zhǎng)存放的將要格式字符串。);度( strlen)argument. :可選參數(shù), 可以是任何類型的數(shù)據(jù)。sprintf(szUfoName,"ufo_%d_%d",iLoop, iTotalUfoCount );String.h函數(shù)原型extern char *strstr(char *str1,char *str2);extern
3、 int strcmp(const char *s1,const char * s2);功能與返回值參數(shù)說(shuō)明與應(yīng)用舉例找出 str2 字符串strstr(szName,“feichong ”) != NULL在 str1 字符串中說(shuō)明 szName 中包含 feichong第一次出現(xiàn)的位置可以用來(lái)判斷前一個(gè)字符串包含后面(不包括 str2的一個(gè)字符串串結(jié)束符)。返回值:返回該位置的指針,如找不到,返回空指針。比較字符串 s1和strcmp(szName,“feichong_0 ”) = 0s2。說(shuō)明 szName 與 feichong_0 相等當(dāng) s1<s2 時(shí),返回可以用 來(lái)判斷前后兩
4、個(gè)字符串的值值<0相等當(dāng) s1=s2 時(shí),返回extern char *strcpy(char *dest,值=0當(dāng) s1>s2 時(shí),返回值>0把從src 地址開(kāi)始strcpy( big“”,ufo ” );且含有 NULL結(jié)束前一個(gè)字符串的內(nèi)容變?yōu)椤眜fo”const char *src);void *memcpy(constchar* dest,constchar *src,size_tn,);extern unsigned int strlen(char *s);符的字符串復(fù)制到以 dest 開(kāi)始的地址空間返回指向 dest 的指針。從源 src 所指的內(nèi)存地址的起始位
5、置開(kāi)始拷貝 n 個(gè)字節(jié)到目標(biāo) dest 所指的內(nèi)存地址的起始位置中函數(shù)返回 dest 的值計(jì) 算 字 符 串s 的( unsigned int 型)長(zhǎng)度,不包括 '0'在內(nèi)返回 s 的長(zhǎng)度,不包括結(jié)束符NULL 。memcpy( m_iGridData,m_iLevelData2,sizeof(int) * GRID_COUNT * GRID_COUNT );intiStrLen=strlen( ufo“” );FunCode C API播放靜態(tài)精靈的APIAPIint dCloneSprite(constchar *szSrcName, const char *szMyNam
6、e );VoiddSetSpriteWidth(const char*szName, const float fWidth );功能與返回值1 表示克隆成功, 0 克隆失敗。失敗的原因可能是在地圖中未找到對(duì)應(yīng)名字的精靈設(shè)置精靈外形寬度參數(shù)說(shuō)明szSrcName:被復(fù)制的精靈模板的名稱szMyName:指向我們復(fù)制出來(lái)精靈的名字?jǐn)?shù)組 szName:指向我們要設(shè)置寬度的精靈的名字fWidth :寬度值,大于0float獲取精靈外形寬度szName:指向要獲得寬度的dGetSpriteWidth(const char 返回值:精靈寬度值精靈*szName );Void設(shè)置精靈外形高度szName:
7、指向要 設(shè)置 高度的dSetSpriteHeight(const精靈的名字char*szName,constfloatfHeight :精靈高度值fHeight);float獲取精靈外形高度szName:指向要獲得高度的dGetSpriteHeight(const精靈的名字char *szName);void設(shè)置精靈移動(dòng)速度szName:指向要設(shè)置速度的dSetSpriteLinearVelocity(c精靈的名字onstchar*szName,constfVelX : X 方向速度f(wàn)loatfVelX,constfloatfVelY : Y 方向速度f(wàn)VelY);float獲取精靈 X 方向
8、速度szName:指向要獲得速度的dGetSpriteLinearVelocityX(精靈的名字const char *szName);floatszName:指向要獲得速度的dGetSpriteLinearVelocityY(獲取精靈 Y 方向速度精靈的名字const char *szName);void按角度朝向設(shè)置精靈szName:指向要設(shè)置角速度dSetSpriteLinearVelocityPo移動(dòng)速度的精靈的名字lar(const char *szName,fSpeed :移動(dòng)速度const float fSpeed,fPolar:角度朝向const float fPolar);v
9、oid設(shè)置精靈是否可以發(fā)szName:指向要設(shè)置發(fā)送碰dSetSpriteCollisionSend(co送(產(chǎn)生)碰撞撞的精靈的名字nst char *szName, const intiSend : 1可以發(fā)送碰撞iSend);0不可以發(fā)送碰撞void設(shè)置精靈是否可以接szName:指向要設(shè)置接收碰dSetSpriteCollisionReceive受碰撞撞的精靈的名字( const char *szName,iReceive:const int iReceive;1可以接受碰撞);0 不接受碰撞Void dSetSpriteWorldLimit(設(shè)置精靈的世界邊界szName: 指向要
10、設(shè)置 世界邊const char *szName,坐標(biāo)限制及碰撞模式界和碰撞模式的精靈的名字const EWorldLimit Limit,Limit:碰撞到世界邊界之后const float fLeft,的響應(yīng)模式,如果為NULL,const float fTop,碰撞反應(yīng)由代碼決定。其它c(diǎn)onst float fRight,值見(jiàn) EWorldLimitconst float fBottomfLeft:邊界的左邊X 坐標(biāo));fTop :邊界的上邊 Y 坐標(biāo)fRight:邊界的右邊X 坐標(biāo)fBottom :邊界的下邊 Y 坐標(biāo)voiddSetSpriteFlipX(設(shè)置精靈圖片X 方向szNa
11、me: 指向要 翻轉(zhuǎn) 的精靈const char *szName,翻轉(zhuǎn)顯示的名字const int iFlipXiFlipX : 1翻轉(zhuǎn));0不翻轉(zhuǎn) ( 恢復(fù)原來(lái)朝向 )voiddSetSpriteVisible(設(shè)置精靈隱藏或者顯szName: 指向要 隱藏 的精靈const char *szName,示 ( 可見(jiàn)不可見(jiàn) )的名字const int iVisibleiVisible : 1 可見(jiàn));0 不可見(jiàn)void dDeleteSprite(在地圖中刪除與本對(duì)szName: 指向要 刪除 的精靈const char *szName);象實(shí)例關(guān)聯(lián)的精靈的名字void dSpriteMove
12、To(讓精靈按照給定速度szName: 指向要 移動(dòng) 的精靈const char *szName,移動(dòng)到給定坐標(biāo)點(diǎn)的名字const float fPosX,fPosX :移動(dòng)的目標(biāo)X 坐標(biāo)值const float fPosY,fPosY :移動(dòng)的目標(biāo)Y 坐標(biāo)值const float fSpeed,fSpeed :移動(dòng)速度const int iAutoStopiAutoStop:移動(dòng)到終點(diǎn)之后);是否自動(dòng)停止。 1 表示停止;0 不停止。void dSetSpritePosition(設(shè)置精靈位置szName: 指向要 設(shè)置 位置的cosnt char* szName,精靈的名字const fl
13、oat fPosX,fPosX : X 坐標(biāo)const float fPosYfPosY : Y 坐標(biāo));void dSetSpritePositionX(只設(shè)置精靈X 坐標(biāo)szName: 指向要 設(shè)置 位置的const char *szName,精靈的名字const float fPosXfPosX : X 坐標(biāo));void dSetSpritePositionY(只設(shè)置精靈Y 坐標(biāo)szName: 指向要 設(shè)置 位置的const char *szName,精靈的名字const float fPosYfPosY : Y 坐標(biāo));float dGetSpritePositionX(獲取精靈 X
14、坐標(biāo)。szName:指向要獲得 X 坐標(biāo)的const char *szName精靈的名字);float dGetSpritePositionY(獲取精靈 Y 坐標(biāo)szName:指向要獲得 Y 坐標(biāo)的const char *szName精靈的名字);void dSetSpriteRotation(設(shè)置精靈的旋轉(zhuǎn)角度szName: 指向要 設(shè)置 旋轉(zhuǎn)的const char *szName,精靈的名字const float fRot參數(shù) fRot:旋轉(zhuǎn)角度,范圍);0-360float dGetSpriteRotation(獲取精靈的旋轉(zhuǎn)角度szName: 指向要 獲得 旋轉(zhuǎn)角const char
15、*szName);度的精靈的名字voidSetSpriteLifeTime(設(shè)置精靈的生命時(shí)szName: 指向要 設(shè)置 精靈生const char *szName,長(zhǎng)。超過(guò)生命時(shí)長(zhǎng),命周期的名字const float fLifeTime精靈被刪除。fLifeTime:生命時(shí)長(zhǎng),單位);秒Void設(shè)置精靈 X 方向常量szName:指向要設(shè)置 X 方向常dSetSpriteConstantForceX推力量推力的精靈的名字(fForceX : X方向推力大小const char *szName,const float fForceX);void設(shè)置精靈 Y 方向常量szName:指向要設(shè)置 Y
16、 方向常dSetSpriteConstantForceY(推力量推力的精靈的名字const char *szName,fForceY : Y方向推力大小const float fForceY);float獲取精靈鏈接點(diǎn)X 坐szName:指向要獲得 X 方向鏈dGetSpriteLinkPointPosX(標(biāo)接點(diǎn)的精靈的名字const char *szName,參數(shù) iId :鏈接點(diǎn)序號(hào),第const int iId一個(gè)鏈接點(diǎn)為 1,后面依次遞);加float獲取精靈鏈接點(diǎn)Y 坐szName:指向要獲得 Y 方向鏈dGetSpriteLinkPointPosY(標(biāo)。接點(diǎn)的精靈的名字const
17、char *szName,參數(shù) iId :鏈接點(diǎn)序號(hào),第const int iId一個(gè)鏈接為1,后面依次遞加);void按角度朝向設(shè)置精靈szName: 指向要 設(shè)置 瞬間推dSetSpriteImpulseForcePola瞬間推力力的精靈的名字r(fPolar:角度朝向const char *szName,fForce:推力大小const float fPolar,iGravitic:是否計(jì)算重力const float fForce,1:計(jì)算const int iGravitic0:不計(jì)算);floatdGetSpriteMass(獲取精靈質(zhì)量szName: 指向要 獲得 質(zhì)量的const
18、 char *szName);返回值 :質(zhì)量大小精靈的名字播放動(dòng)態(tài)精靈的APIAPIintdAnimateSpritePlayAnimation(const char *szName,const char *szAnim,const intiRestore);功能與返回值動(dòng)畫(huà)精靈播放動(dòng)畫(huà)返回值:是否播放成功1 表示成功,0 表示不成功參數(shù)說(shuō)明szName:指向要播放動(dòng)畫(huà)的精靈的名字szAnim :動(dòng)畫(huà)名字。 注意不是精靈名稱。bRestore:播放完畢后是否恢復(fù)當(dāng)前動(dòng)畫(huà) 1:恢復(fù)0:不恢復(fù)char szGotGoldName20;設(shè)置文字精靈的 API類成員函數(shù)功能與返回值void dSetT
19、extValue(文字精靈顯示某個(gè)const char *szName,數(shù)值int iValue);設(shè)置特效精靈的 API參數(shù)說(shuō)明szName:指向文字精靈的名字iValue :要顯示的數(shù)值A(chǔ)PIvoid dPlayEffect(const char *szSrcName,const float fLifeTime,const float fPosX,const float fPosY ,const float fRotation);設(shè)置播放聲音的API功能與返回值播放一個(gè)不循環(huán)的特效 ,播放完畢之后該特效自動(dòng)刪除參數(shù)說(shuō)明szSrcName:特效精靈的名字,fLifeTime :特效精靈的生命
20、長(zhǎng)度, fPosX :播放的 X 坐標(biāo)fPosY :播放的 Y 坐標(biāo) fRotation :播放的角度朝向APIvoiddPlaySound(const char *szName,const int iLoop,const float fVolume );功能與返回值播放聲音特效參數(shù)說(shuō)明szName:播放聲音的路徑或者名稱iLoop :是播放否循環(huán)播放1:循環(huán)播放0:不循環(huán)播放fVolume : 0-1 音量的大小void dStopSound(停止播放該聲音const int iSoundId);系統(tǒng)相關(guān)功能的 APIAPI功能與返回值static float獲取世界邊界之左dGetScre
21、enLeft();邊X坐標(biāo)static float獲取世界邊界之上dGetScreenTop();邊Y坐標(biāo)iSoundId :播放聲音的時(shí)候返回的聲音的 ID參數(shù)說(shuō)明static floatdGetScreenRight();static floatdGetScreenBottom();static char*dMakeSpriteName(const char *szPrev,const int iId);static voiddSetWindowTitle(const char *szTitle);獲取世界邊界之右邊X坐標(biāo)獲取世界邊界之下邊Y坐標(biāo)將前面的字符串與后面的數(shù)字整合成一個(gè)字符串。返回值:返回一個(gè)字符串,比如傳入("xxx",2),則返回"xxx2"設(shè)置窗口名字 /標(biāo)題szPrev:一個(gè)非空字符串,最長(zhǎng)不能超過(guò) 20 個(gè)英文字符。iId :一個(gè)數(shù)字CSystem:MakeSpriteName( “xxx”,2); 得到 xxx2 的字符串szTitle :非空字符串static int dRandomRange( const int iMin,const int iMax);獲取一個(gè)位于參數(shù)iMin :小于 iMax 的整數(shù)1 到參數(shù) 2 之間的隨 iMax :大于 iMin 的整數(shù)機(jī)數(shù)返回值: int ,范圍iMi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 庫(kù)房標(biāo)識(shí)卡管理制度
- 棄土場(chǎng)公司管理制度
- 影像科設(shè)備管理制度
- 德州俱樂(lè)部管理制度
- 快遞分揀機(jī)管理制度
- 快餐廳員工管理制度
- 急診科設(shè)備管理制度
- 總經(jīng)理提成管理制度
- 感官訓(xùn)練室管理制度
- 成品紙庫(kù)房管理制度
- 培訓(xùn)學(xué)校收費(fèi)和退費(fèi)管理制度
- 法社會(huì)學(xué)教程(第三版)教學(xué)
- 國(guó)內(nèi)外高等教育教材比較研究課題
- 浙江省紹興市諸暨市2023-2024學(xué)年五年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 重慶市大足縣2023-2024學(xué)年四年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 煤礦調(diào)度智能化培訓(xùn)課件
- 基于PLC的啤酒發(fā)酵自動(dòng)控制系統(tǒng)
- 重慶市沙坪壩區(qū)2022-2023學(xué)年八年級(jí)下學(xué)期期末英語(yǔ)試題
- 思辨與創(chuàng)新智慧樹(shù)知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
- 手術(shù)室-標(biāo)準(zhǔn)側(cè)臥位擺放
- (正式版)JBT 9229-2024 剪叉式升降工作平臺(tái)
評(píng)論
0/150
提交評(píng)論