Java游戏编程原理与实践教程课件 第4章.pptVIP

  • 1
  • 0
  • 约5.85千字
  • 约 17页
  • 2019-07-17 发布于辽宁
  • 举报

Java游戏编程原理与实践教程课件 第4章.ppt

//Sprite类 import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.image.ImageObserver; public class Sprite { /** Sprite的X,Y坐标**/ public int m_posX = 0,m_posY = 0; private Image pic[] = null; // Sprite图片数组 /** 当前帧的ID **/ private int mPlayID = 0; /**是否更新绘制Sprite**/ boolean mFacus = true; public Sprite () { pic = new Image[4]; for (int i = 0; i 4; i++) pic[i] = Toolkit.getDefaultToolkit().getImage( images\\d + i + .png); } /**初始化坐标**/ public void init(int x, int y) { m_posX = x; m_posY = y; } /**设置坐标**/ public void set(int x, int y) { m_posX = x; m_posY = y; } /**绘制精灵**/ public void DrawSprite (Graphics g,JPanel i) { g.drawImage(pic[mPlayID],m_posX,m_posY,(ImageObserver)i); mPlayID++; //下一帧图像 if(mPlayID==4) mPlayID=0; } Sprite坐标更新主要修改x坐标(水平方向)值,每次15个像素。当然也可以修改Y坐标(垂直方向)值,这里为了简单化没修改Y坐标值(垂直方向)。 /**更新精灵的坐标点**/ public void UpdateSprite () { if (mFacus==true) m_posX += 15; if(m_posX==300)//如果达到窗口右边缘 m_posX=0; } } 游戏开发是艺术与科学的结合,是策划,美术,程序三者间的协调以及创意与商业的平衡,集故事、音乐、动画等多元素于一身。 目前Java不仅可以开发台式机游戏,而且随着智能手机的普及,目前支持Java的手机性能上已经接近第二代控制台游戏机,因此手机游戏大规模使用的时代已经来临,可见Java 游戏开发市场广大。 第4章 Java游戏程序的基本框架 4.1 动画的类型及帧频 动画的制作是游戏设计的基础,几乎所有的游戏都是在动画的基础上添加人机交互功能、以及增加剧情功能等等延伸来的。因此动画的制作是游戏开发的必须了解的知识,也是游戏制作基本元素。 4.1.1 动画类型 动画主要分为影视动画和游戏动画两种。影视动画就是使用专业动画软件编辑出来的效果很好的动画视频,投影机以每秒二十四格的速度投射在银慕上. 游戏动画则不同于影视动画,是在屏幕上显示一系列连续动画画面的第一帧图形,然后在每隔很短的时间显示下一帧图像,如此反复 4.1.2 设置合理的帧频FPS FPS顾名思义,就是每秒钟的帧数。每一帧就是一幅静态图像,电影的播放速度是24FPS,但是一般游戏速度达到10FPS就明显感觉到动画的效果了。 4.2 游戏动画的制作 4.2.1 绘制动画以及动画循环 既然动画就是将一连串的图像快速的循环播放,所以就需要使用循环语句控制图像的连续播放,由于动画需要一定的播放速度,因此需要连续播放动画的同时能够控制动画的播放速度,最好使用线程中的暂停函数来实现。 while(true){ 处理游戏功能; 使用repaint()函数要求重画屏幕 暂停一小段时间;//帧频FPS控制 } 4.2.2 消除动画闪烁现象——双缓冲技术 一个动画在运行的时候,如果图像的切换是在屏幕上完成的,则可能会造成屏幕的闪烁,消除动画闪烁现象的最佳方法是使用双缓存技术。 双缓冲技术的工作原理:先在内存中分配一个和我们动画窗口一样大的空间(在内存中的空间我们是看不到的),然后利用getGraphics()

文档评论(0)

1亿VIP精品文档

相关文档