如何设计游戏中精灵角色
如何运用java代码设计出游戏中的角色精灵呢?其实,我们也是需要一个框架的,其中包括了精灵动画显示,精灵移动控制,创建精灵类
.什么叫Sprite?
广义:游戏世界中的各种元素:背景、玩家、NPC(电脑控制角色)、宝物、障碍物等等
狭义:游戏中可移动的物体(玩家、NPC)
Spite有些什么属性?
位置信息:locX,locY
移动速度:dx,dy
图像序列:Image1……ImageN
3.Sprite有些什么动作?
更新位置坐标
设置并播放动画
在屏幕上绘制。
如何让图像活动起来?
显示动画的主要步骤:
1。载入图像序列
2.设定显示时间(总时间、更新时间)
3.循环更新当前图像
4.显示当前图像
(定义Animation类来处理动画设置和显示)
方式一:从单独的文件载入
BufferedImage bim = loadImage(fnm);
BufferedImage[] ims = new BufferedImage[num];
for (int i = 0; i < num; 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(int i=0;i
String.valueOf(i)+
postFileName);
}
(参见Animation.java的setAnimImagesFromFiles方法)
在这里,我们把动画图片拆成很多个小图片,如duck0.gif, duck1.gif, duck2.gif,…,duck5.gif, 上面的prefixFileName指的是前缀duck, postFileName指的是后缀.gif, 中间的num就表示图片数量,如上面就是num=5
小编结语:最后,我们需要在上面的方法里,我们把图片读出来,分割成几个图像存放在数组ims里。
¥498.00
¥399.00
¥29.00
¥299.00