- 4
- 0
- 约2.97千字
- 约 11页
- 2019-07-17 发布于辽宁
- 举报
import java.awt.Container; import javax.swing.JFrame; public class BoxFrame2 extends JFrame { public BoxFrame2() { // 默认的窗体名称 setTitle(2.5D推箱子游戏); // 获得我们自定义面板[PushBox面板]的实例 PushBox panel = new PushBox(); Container contentPane = getContentPane(); contentPane.add(panel); setSize(800, 800); } public static void main(String[] args) { BoxFrame2 e1 = new BoxFrame2(); // 设定允许窗体关闭操作 e1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示窗体 e1.setVisible(true); } } * 第20章 2.5D游戏 通常的概念中,2D也就是所谓的二维,也就是平面图形——即由X与Y坐标构成的图形,其内容由水平的X轴向与垂直的Y轴描绘确定,也就是由长和高的形成所谓的二维平面。 而所谓3D,也称之为三维。其图形内容除了有水平的X轴向与垂直的Y轴向外还有进深的Z轴,故称三维(XYZ),也就是由长、宽、高三项要素形成所谓的三维立体。本游戏也可以通过方向键移动被选中的人物角色。 第20章 2.5D游戏 所谓的2.5D,介乎于模真的3D与完全平面的2D之间。即模拟了3D的空间感,也兼具2D的灵动简单,是一种“优势”的综合体。诚然2.5D最早的出现动机只是为了2D到3D间过渡。但就其应用而讲,好的2.5D图形即有3D的自由度与质感,又能利用2D图形将漫画式人物塑造得惟妙惟肖,使其拥有纯3D还无法做到的优势。因此2.5D在现在乃至未来的一段较长时间里还会和3D并存 2.5D的效果图 游戏运行界面 20.2 设计思想 在2.5D推箱子游戏中利用斜45度视角,所以假如产生如图20-3所示14×14的网格,则需要绘制地图中多边形,而不是矩形 public void myDrawRect(Graphics g, int x ,int y){//绘制多边形 Graphics2D g2D=(Graphics2D)g; if(g2D==null){ return; } GeneralPath path = new GeneralPath(); path.moveTo(x+14, y); path.lineTo(x+53, y+10); path.lineTo(x+37, y+37); path.lineTo(x-2, y+26); path.lineTo(x+14, y); g2D.fill(path); //g.draw(myPath); } 20.2 设计思想 由于2.5D呈现技术与2D的绘制方式基本相同,在绘制时只需注意绘制的顺序。本游戏中地图元素采用的是等大图元(每个物件大小相同),所以可以先绘制底层地图、再绘制上层(建筑物)地图。所以采用两个数组map1,map2分别表示地图的两层,第一层数组map1中0表示白色空地, l表尔灰色空地,2表示目的地。第二层数组map2中1表示箱子, 2表示墙, 3表示绿色的箱子。第一层和第二层图中的-1代表该处没有任何地图元素。 20.2 设计思想 2.5D游戏中的图片为了配合倾斜后的X,Y坐标拼接,大部分平面图必须转换为45度图。 图20-5 人物和箱子的45度图 20.2 设计思想 20.3 程序设计的步骤 20.3.1 创建游戏界面类(PushBox.java) 在项目中创建一个继承JPanel的PushBox类,用于显示游戏界面和实现游戏逻辑。 paint(Graphics g) 画游戏界面。2.5D游戏需注意绘制的顺序。本游戏中地图元素采用的是等大图元(每个物件大小相同),所以可以先绘制底层地图、再绘制上层(建筑物)地图。 myDrawRect(Graphics g, int x ,int y)绘制游戏网格中的多边形。 20.3 程序设计的步骤 20.3.1 创建游戏界面类(PushBox.java) 键盘事件,根据用户按键处理人物的移动。当人物角色的移动时,此处不考虑符
您可能关注的文档
最近下载
- 妊娠期肝内胆汁淤积症临床诊治和管理指南(2024版)课件.pptx VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共25份).docx VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共27份).docx VIP
- 盆腔炎性疾病医学课件.ppt VIP
- (81格)舒尔特方格-儿童注意力训练(每日一练,共20份).docx VIP
- (25格)舒尔特方格练习题儿童专注力训练(每日一练,共25份).docx VIP
- 农村会计试题及答案.docx VIP
- 2025年春新课程能力培养七年级英语下册人教版答案.pdf VIP
- 公务员财务面试面试题及答案.doc VIP
- 重庆市普通高校招生考生综合信息表.doc VIP
原创力文档

文档评论(0)