- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第6章游戏角色设定
内容提要
•游戏中的角色精灵
•精灵动画显示
•精灵移动控制
•创建精灵类
1.游戏中的角色精灵(Sprite)
1什么叫Sprite?
•广义:游戏世界中的各种元素:背景、
玩家、NPC(电脑控制角色)、宝物、障
碍物等等
•狭义:游戏中可移动的物体(玩家、NPC)
2.Spite有些什么属性?
•位置信息:locX,locY
•移动速度:dx,dy
•图像序列:Image1……ImageN
3.Sprite有些什么动作?
•更新位置坐标
•设置并播放动画
•在屏幕上绘制
2.精灵动画
如何让图像活动起来?
•显示动画的主要步骤:
1.载入图像序列
2.设定显示时间(总时间、更新时间)
3.循环更新当前图像
4.显示当前图像
(定义Animation类来处理动画设置和显示)
要点一:载入图像序列
•方式一:从单独的文件载入
BufferedImagebim=loadImage(fnm);
BufferedImage[]ims=newBufferedImage[num];
for(inti=0;inum;i++){
……
g=ims[i].getGraphics();
g.drawImage(bim,0,0,imWidth,imHeight,
i*imWidth,0,(i*imWidth)+imWidth,
imHeight,null);
g.dispose();
}
(参见Animation.java的setAnimImagesFromOneFile方法)
•方式二:从一组文件载入
BufferedImage[]ims=new
BufferedImage[num];
for(inti=0;inum;i++)
{
String.valueOf(i)+
postFileName);
}
(参见Animation.java的setAnimImagesFromFiles方法)
3.精灵移动控制
•如何实现朝不同方向运动时显示不同的
图像序列?
设定一个玩家控制角色:
1.生成两个Animation对象,分别用来播放向
左或向右移动的动画
2.获取键盘事件KeyPressed,若右键按下,
更新向右的动画,同时将当前x坐标增加;
按左键类似
3.获取键盘事件KeyReleased,若键盘松开则
停止更新动画
(参见例6_4)
4.创建Sprite类
•主要属性:•主要方法:
locX,locYmove()
dx,dydraw()
width,heightgetX(),getY()
imagesetX(),setY()
animPlayersetImage()
isLoopingloopImage()
isActivestopLoop()
……setActive()
……
 原创力文档
原创力文档 
                        

文档评论(0)