funcode海底世界练习c语言Word下载.docx
- 文档编号:16488542
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:8
- 大小:37.71KB
funcode海底世界练习c语言Word下载.docx
《funcode海底世界练习c语言Word下载.docx》由会员分享,可在线阅读,更多相关《funcode海底世界练习c语言Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
floatg_fSpeedTop=0.f;
//上
floatg_fSpeedBottom=0.f;
//下
#include"
CommonAPI.h"
LessonX.h"
#include<
stdio.h>
/////////////////////////////////////////
for(inti=0;
i<
4;
i++)
{
charszName[128];
sprintf(szName,"
fish%d"
i);
//注意,szName传入时不能是空指针
}
//Todo:
在此使用API更改窗口标题
dSetWindowTitle("
Lesson"
);
dSetSpriteWorldLimit("
myfish"
WORLD_LIMIT_NULL,g_fScreenLeft,g_fScreenTop,g_fScreenRight,g_fScreenBottom);
for(i=0;
charszName[128];
floatfPosX,fPosY;
floatfSpeedX;
sprintf(szName,"
{dCloneSprite("
fish_muban"
szName);
fPosX=dRandomRange(g_fScreenLeft+10.f,g_fScreenRight-10.f);
fPosY=dRandomRange(g_fScreenTop+10.f,g_fScreenBottom-10.f);
dSetSpritePosition(szName,fPosX,fPosY);
fSpeedX=dRandomRange(-10,20);
dSetSpriteLinearVelocity(szName,fSpeedX,0);
dSetSpriteWorldLimit(szName,WORLD_LIMIT_NULL,g_fScreenLeft-20.f,g_fScreenTop,g_fScreenRight+20.f,
g_fScreenBottom);
}
//引擎主循环,处理屏幕图像刷新等工作
while(dEngineMainLoop())
//获取两次调用之间的时间差,传递给游戏逻辑处理
floatfTimeDelta=dGetTimeDelta();
//执行游戏主循环
GameMainLoop(fTimeDelta);
};
//关闭游戏引擎
dShutdownGameEngine();
return0;
//==========================================================================
//引擎捕捉鼠标移动消息后,将调用到本函数
voiddOnMouseMove(constfloatfMouseX,constfloatfMouseY)
{
//可以在此添加游戏需要的响应函数
//引擎捕捉鼠标点击消息后,将调用到本函数
voiddOnMouseClick(constintiMouseType,constfloatfMouseX,constfloatfMouseY)
//引擎捕捉鼠标弹起消息后,将调用到本函数
voiddOnMouseUp(constintiMouseType,constfloatfMouseX,constfloatfMouseY)
voidSwimming()
if((g_fSpeedLeft+g_fSpeedRight)>
0)
dSetSpriteFlipX("
false);
elseif((g_fSpeedLeft+g_fSpeedRight)<
true);
dSetSpriteLinearVelocity("
g_fSpeedLeft+g_fSpeedRight,g_fSpeedTop+
g_fSpeedBottom);
//引擎捕捉键盘按下消息后,将调用到本函数
//iAltPressiShiftPressiCtrlPress分别为判断Shift,Alt,Ctrl当前是否也处于按下状态。
比如可以判断Ctrl+E组合键
voiddOnKeyDown(constintiKey,constintiAltPress,constintiShiftPress,constintiCtrlPress)
switch(iKey)
caseKEY_W:
g_fSpeedTop=-10.f;
break;
caseKEY_A:
g_fSpeedLeft=-15.f;
caseKEY_S:
g_fSpeedBottom=10.f;
caseKEY_D:
g_fSpeedRight=15.f;
default:
break;
Swimming();
dSetSpriteLinearVelocity("
g_fSpeedLeft+g_fSpeedRight,g_fSpeedTop+g_fSpeedBottom);
//引擎捕捉键盘弹起消息后,将调用到本函数
voiddOnKeyUp(constintiKey)
caseKEY_W:
g_fSpeedTop=0.f;
caseKEY_A:
g_fSpeedLeft=0.f;
caseKEY_S:
g_fSpeedBottom=0.f;
caseKEY_D:
g_fSpeedRight=0.f;
//===========================================================================
//引擎捕捉到精灵与精灵碰撞之后,调用此函数
voiddOnSpriteColSprite(constchar*szSrcName,constchar*szTarName)
//引擎捕捉到精灵与世界边界碰撞之后,调用此函数.
//iColSide:
0左边,1右边,2上边,3下边
voiddOnSpriteColWorldLimit(constchar*szName,constintiColSide)
boolbFlip;
floatfSpeedX;
floatfPosY;
if(strstr(szName,"
fish"
)!
=NULL)
if(strcmp(szName,"
)==0)//myfish精灵
dSetSpriteLinearVelocity(szName,0,0);
else
{
//另外4条鱼
if(iColSide==1)//右边
{
bFlip=true;
fSpeedX=-dRandomRange(10,20);
}
elseif(iColSide==0)//左边
bFlip=false;
fSpeedX=dRandomRange(10,20);
}
dSetSpriteFlipX(szName,bFlip);
fPosY=dRandomRange(g_fScreenTop+10.f,g_fScreenBottom-10.f);
dSetSpritePositionY(szName,fPosY);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- funcode 海底 世界 练习 语言