欢迎来到天天文库
浏览记录
ID:48414280
大小:2.28 MB
页数:21页
时间:2020-01-24
《游戏“黄金矿工”设计思路.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、word格式实验:黄金矿工完成本实验后,可以实现矿工抓金子并计分的效果,如下所示:复制金块学习目标学习应用dGetScreenLeft,dGetScreenRight,dGetScreenTop,dGetScreenBottom学习应用srand函数。这节我们实现黄金矿工的金块随机分布,并设置不同金块的大小,为后续的抓取金块做好准备。Step1:图片资源导入新建一个新的项目,取名为GoldenManDemo。添加如图所示资源到环境中:....word格式并按如下所示布置图片位置:....word格式并为金子取名为go
2、ldTemplateStep2:本实验用到的API/*dGetScreenLeft:获取世界边界之左边X坐标*返回值:左边界X坐标*/externfloatdGetScreenLeft();/*dGetScreenTop:获取世界边界之上边Y坐标*返回值:上边界Y坐标*/externfloatdGetScreenTop();/*dGetScreenRight:获取世界边界之右边X坐标*返回值:右边界X坐标*/externfloatdGetScreenRight();/*dGetScreenBottom:获取世界边界之
3、下边Y坐标....word格式*返回值:下边界Y坐标*/externfloatdGetScreenBottom();/*dSetSpriteWidth:设置精灵外形宽度*参数szName:精灵名字*参数fWidth:宽度值,大于0*/externvoiddSetSpriteWidth(constchar*szName,constfloatfWidth);/*dGetSpriteWidth:获取精灵外形宽度*参数szName:精灵名字*返回值:精灵宽度值*/externfloatdGetSpriteWidth(cons
4、tchar*szName);/*dRandomRange:获取一个位于参数1到参数2之间的随机数*返回值:int,范围iMin-iMax*参数iMin:小于iMax的整数*参数iMax:大于iMin的整数*/externintdRandomRange(constintiMin,constintiMax);Step3:思路阐述要实现金块的随机分布,首先需要利用模板复制一定数量的金块,然后将他们随机布置在窗口中,可以通过dSetSpritePosition来设置金块的横纵坐标。接下来要面临的问题就是,如何获取窗口中不同位
5、置的坐标。利用dGetScreenLeft,dGetScreenRight,dGetScreenBottom,dGetScreenTop来获取窗口的范围,然后使用dRandomRange在该范围中随机一个新的坐标。对于金块的大小设置,可以利用dSetSpriteHeight和dSetSpriteWidth来实现。Step4:代码详解首先定义全局变量,定义如下全局变量:intg_fGoldBornMinX=0;intg_fGoldBornMaxX=0;intg_fGoldBornMinY=0;intg_fGoldBor
6、nMaxY=0;intg_iGoldCount=0;金块布置属于初始化工作,在WinMain的初始化部分添加如下代码:dSetWindowTitle("黄金矿工");g_iGoldCount=20;//金子数量g_fGoldBornMinX=dGetScreenLeft()+5;//金子左边界g_fGoldBornMaxX=dGetScreenRight()-5;//金子右边界g_fGoldBornMinY=dGetScreenTop()+20;//金子上边界....word格式g_fGoldBornMaxY=dGe
7、tScreenBottom()–5;//金子下边界利用循环生成20个金子,以goldTemplate为模板intiLoop=0;//循环变量控制intiSize=4,iPosX=0,iPosY=0;//iSize表示金块大小的变量for(iLoop=0;iLoop=10&&iLoop<16)//生成6个中金块,大小为6{iSize=6;}else//生成4个大金块,大小为8
8、{iSize=8;}//初始化金子精灵实例char*tmpName;tmpName=dMakeSpriteName("GoldBlock",iLoop);//生成金块名字dCloneSprite("goldTemplate",tmpName);dSetSpriteWidth(tmpName,(float)iSize);//设置金块的宽度dSet
此文档下载收益归作者所有