当前位置:文档之家› Java编写手机游戏程序的方法和实例--附件:手机游戏源代码

Java编写手机游戏程序的方法和实例--附件:手机游戏源代码

Java编写手机游戏程序的方法和实例--附件:手机游戏源代码
Java编写手机游戏程序的方法和实例--附件:手机游戏源代码

《Java编写手机游戏程序的方法和实例》一文的游戏源代码: 威海职业学院信息工程系赵永华

第一个子程序:HardDriveMIDlet.java

/* HardDriveMIDlet.java : Container MIDlet */

import java.io.IOException;

import javax.microedition.midlet.MIDlet;

import javax.microedition.lcdui.*;

public class HardDriveMIDlet

extends MIDlet

implements CommandListener

{

private Display dgDisplay;

private HardDriveCanvas hdCanvas;

private GameOverCanvas goCanvas;

static final Command ExitCommand = new Command("Exit", Command.EXIT, 0);

public HardDriveMIDlet( )

{ // Create the main Display

dgDisplay = Display.getDisplay(this);

}

protected void startApp() //throws MIDletStateChangeException

{

try{

hdCanvas = new HardDriveCanvas(this, "/car.png", "/obstacle.png");

hdCanvas.start();

hdCanvas.addCommand(ExitCommand);

hdCanvas.setCommandListener(this);

}

catch (IOException ioe)

{

System.err.println("Problem loading image "+ioe);

}

//Set newly created canvas as current canvas

dgDisplay.setCurrent(hdCanvas);

}

public void pauseApp()

{

}

public void destroyApp(boolean unconditional)

{

hdCanvas.stop();

}

public void commandAction(Command c, Displayable s)

{

if (c.getCommandType( ) == Command.EXIT)

{

destroyApp(true);

notifyDestroyed( );

}

}

public void HardDriveCanvasGameOver(long time, int score)

{

hdCanvas.stop();

try

{

goCanvas = new GameOverCanvas(this, time, score);

goCanvas.start();

//Command quitCommand = new Command("Quit", Command.EXIT, 1);

goCanvas.addCommand(ExitCommand);

goCanvas.setCommandListener(this);

}

catch (Exception exp)

{

System.err.println("Problem loading image "+exp);

}

dgDisplay.setCurrent(goCanvas);

}

} //end of class HardDriveMIDlet

/*Creating project "HardDriveGame" Place Java source files in "C:\WTK21\apps\HardDriveGame\src" Place *application resource files in "C:\WTK21\apps\HardDriveGame\res" Place application library files in *"C:\WTK21\apps\HardDriveGame\lib" Settings updated Project settings saved*/

第二个子程序:HardDriveCanvas.java

/* Filename: HardDriveCanvast.java */

import java.io.IOException;

import javax.microedition.midlet.MIDlet;

import javax.microedition.lcdui.*;

import javax.microedition.lcdui.game.*;

class HardDriveCanvas

extends GameCanvas

implements Runnable

{

private HardDriveMIDlet midlet;

private Sprite carSprite;

private LayerManager layerManager;

private ObstacleManager obsManager;

private boolean gameRunning;

private boolean collision = false;

private int width;

private int height;

private long gameDuration;

public HardDriveCanvas(HardDriveMIDlet hdmidlet, String carImageName, String obsImageName)

throws IOException

{

super(true);

this.midlet = hdmidlet; //used later

layerManager = new LayerManager();

width = getWidth();

height = getHeight();

layerManager.setViewWindow(1,1,width - 2, height -2);

createCar(carImageName);

obsManager = new ObstacleManager( this, layerManager, obsImageName); }

private void createCar(String carImageName) throws IOException

{

Image carImage = Image.createImage(carImageName);

carSprite = new Sprite(carImage);

// Put the sprite close to bottom center

carSprite.setPosition(width/2,height - 30);

layerManager.append(carSprite);

}

public void start()

{

gameRunning = true;

Thread gameThread = new Thread(this);

gameThread.start();

}

public void stop() { gameRunning = false; }

public void run()

{

Graphics g = getGraphics();

int timeStep = 300;

obsManager.renderObstacles();

long startTime = System.currentTimeMillis();

while (gameRunning) //is true {

tick();

input();

render(g);

long endTime = System.currentTimeMillis();

long duration = (int)(endTime - startTime);

gameDuration = duration / 1000; //game time in seconds

try

{

Thread.sleep(timeStep );//- duration);

obsManager.MoveObstacles();

}

catch (InterruptedException ie) { stop(); } }

}

private void tick()

{

if(!collision)

checkCollision();

if (collision)

{

//Game over

int score = obsManager.getScore();

midlet.HardDriveCanvasGameOver(gameDuration,score);

//stop();

}

}

private void input()

{

int keyStates = getKeyStates();

int currentY = carSprite.getY();

int currentX = carSprite.getX( );

if ((keyStates & LEFT_PRESSED) != 0)

carSprite.setPosition (Math.max(0, currentX-5), currentY);

if ((keyStates & RIGHT_PRESSED) != 0)

carSprite.setPosition(Math.min(170, currentX + 5), currentY);

}

private void render(Graphics g)

{

g.setColor(255, 255, 255); // white

g.fillRect(0, 0,getWidth()-3, getHeight()-3);

layerManager.paint(g,0,0);

flushGraphics();

private void checkCollision( )

{

if (obsManager.hitTest(carSprite) )

collision = true;

}

}

第三个子程序:ObstacleManager.java

/*ObstacleManager.java : creates and manages obstacles */

import java.io.IOException;

import javax.microedition.lcdui.*;

import javax.microedition.lcdui.game.*;

public class ObstacleManager

{

private Sprite [] obstacles;

//private boolean [] active;

//private int [] xpos;

//private int [] ypos;

private LayerManager layerManager;

private GameCanvas hdCanvas;

private static final int MAX_OBS = 10; //maximum number of obstacles appearing at a time in car's path, could be changed to any desired number

private static int Score = 0;

/** Creates a new instance of ObstacleManager */

public ObstacleManager(GameCanvas canvas, LayerManager lm, String obsFileName) throws IOException

{

hdCanvas = canvas;

layerManager = lm;

createObstacles(obsFileName);

}

private void createObstacles(String obsImageName)

throws IOException

Image obsImage = Image.createImage(obsImageName);

obstacles = new Sprite[MAX_OBS];

//active = new boolean[MAX_OBS];

//xpos = new int[MAX_OBS];

//ypos = new int[MAX_OBS];

for (int i=0; i < MAX_OBS; i++)

{

obstacles[i] = new Sprite(obsImage);

obstacles[i].setVisible(false);

layerManager.append(obstacles[i]);

}

}

//private int lastRendered = 0;

public void renderObstacles()

{

for (int i=0; i < MAX_OBS; i++)

{

//obstacles[i].setPosition(locations[i], 0);

ReSetObstaclesPosition();

obstacles[i].setVisible(true);

}

}

public void MoveObstacles()

{

for (int i=0; i < obstacles.length; i++)

{

int currentX = obstacles[i].getX( );

int newY = obstacles[i].getY( ) + 14; // 14 is image height

if (newY >= 177)

{

//obstacles[i].setVisible(false);

Score+=1;

java.util.Random random = new java.util.Random();

int yPos = (random.nextInt()>>>1) % 170;

int xPos = (random.nextInt()>>>1) % 170;

//obstacles[i].setPosition(currentX , - yPos);

obstacles[i].setPosition(xPos , - yPos);

}

else

{

obstacles[i].setPosition(currentX, newY);

}

}

}

public void ReSetObstaclesPosition()

{

java.util.Random random = new java.util.Random();

for( int i = 0; i < 10 ; i++)

{

int nyPos = (random.nextInt()>>>1) % 170;

int nxPos = (random.nextInt()>>>1) % 170;

obstacles[i].setPosition(nxPos, -nyPos );

}

}

public boolean hitTest(Sprite carSprite)

{

boolean retval = false;

for (int i=0; i < obstacles.length; i++)

{

if (carSprite.collidesWith(obstacles[i], true))

{

retval = true;

break;

}

}

return retval;

}

public int getScore()

{

return Score;

}

}

第四个子程序:GameOverCanvas.java

//Filename: GameOverCanvas.java

import javax.microedition.lcdui.*;

import javax.microedition.midlet.MIDlet;

class GameOverCanvas

extends Canvas

{

private HardDriveMIDlet midlet;

private long time;

private int score;

GameOverCanvas(HardDriveMIDlet hdmidlet, long gtime, int gscore) {

super();

this.midlet = hdmidlet;

this.time = gtime;

this.score = gscore;

setFullScreenMode(true);

}

public void start() { }

public void paint(Graphics g)

{

int width = getWidth();

int height = getHeight();

// clear screen to black

g.setColor(0,0,0);

g.fillRect(0, 0, width, height);

// clear screen to orange

g.setColor(255,100,0);

g.fillRect(0, 0, width - 3, height - 3);

// Write message. We use a trick to make outlined text: we draw it // offset one pixel to the top, bottom, left & right in white, then // centred in black.

g.setFont(Font.getFont(Font.FACE_PROPORTIONAL,

Font.STYLE_BOLD,

Font.SIZE_LARGE));

int centerX = width / 2;

int centerY = height / 2;

g.setColor(0x00FFFFFF); // white

drawText(g, centerX, centerY - 1);

drawText(g, centerX, centerY + 1);

drawText(g, centerX - 1, centerY);

drawText(g, centerX + 1, centerY);

g.setColor(0x00000000); // black

drawText(g, centerX, centerY);

}

private void drawText(Graphics g, int centerX, int centerY)

{

int fontHeight = g.getFont().getHeight();

int textHeight = 3 * fontHeight;

int topY = centerY - textHeight / 2;

g.drawString("GAME OVER",

centerX,

topY,

Graphics.HCENTER | Graphics.TOP);

g.drawString("Time: " + time + " s",

centerX,

topY + fontHeight,

Graphics.HCENTER | Graphics.TOP);

g.drawString(("Score: " + score),

centerX,

topY + 2 * fontHeight,

Graphics.HCENTER | Graphics.TOP);

}

}

作者简介:赵永华,男,威海职业学院信息工程系高级工程师

Tel:0631-2964036 Email: TyZhaoyh@https://www.doczj.com/doc/db16075122.html,

通讯地址:威海职业学院信息工程系教研室(264210)

基于java的手机游戏开发与设计

摘要在信息技术飞速发展的今天,随着的手机日益普及,手机游戏也成了人们生活中不可缺少的一部分。Java在移动设备上的功能实现也越来越具影响力,为丰富人们的生活,提供服务等方面提供了诸多方便。本文主要介绍一款基于Java语言开发的手机游戏——贪吃蛇,该设计主要是应用J2ME 技术,结合JDK 1.6.0,使用IDE Eclipse 3.4与EclipseMe1.7.9作为开发工具,以Sun J2ME Wireless Tool Kit 2.5.2软件作为模拟测试工具的综合性的开发设计。本设计主要是对手机游戏的开发过程的各个环节做了详细的介绍,其中包括:手机游戏开发平台的搭建与测试、具体设计及开发步骤、软件测试运行与打包生成等,实现了经典游戏——贪吃蛇的手机嵌入,以便满足一些手机用户的娱乐需求。 关键字J2ME WTK Eclipse ABSTRACT In the day of rapid development of information technology, with the growing popularity of mobile phone, mobile games also become the indispensable part in daily life. Java in the function realization of the mobile device is also more and more influential for rich people's life and providing services offered many convenient. This paper mainly introduces a mobile game snake of Java language development. This design is a comprehensive development design,which mainly applied 1.6.0 JDK J2ME technology, combined with the Eclipse, use IDE EclipseMe1.7.9 as 3.4 development Tool, Tool Kit to 2.5.2 from J2ME Wireless

基于java的打砖块游戏学位论文

北方民族大学学士学位论文论文题目基于JA V A的打砖块游戏开发 系(部)名称: 计算机科学与工程学院 学生姓名: 专业: 软件工程 学号: 指导教师姓名: 论文提交时间: 2014-5-7 论文答辩时间: 2014-5-17 学位授予时间: 北方民族大学教务处制

基于JAVA的打砖块游戏开发 摘要 打砖块是一款堪称经典的小游戏,在掌上游戏机上和许多手机上都能发现这个小游戏。游戏基本内容是玩家通过控制一个能够左右移动的挡板,反弹正在运动中弹球,使之改变移动的方向,用小球消除游戏窗口里面的的砖块,然后到达下一关,在障碍物被消除的过程中,可能会产生一些能改变挡板或者小球状态的物品,例如:挡板变长、变短,小球威力加强等等。 本系统是一个基于Java语言平台的打砖块游戏。主要任务是设计打砖块游戏的算法,并使用JA V A语言编写程序,最终完成游戏编程,并使之能够正确运行。主要是小球的碰撞检测和运动轨迹的算法,碰撞部分可以将小球看成一个矩形,当矩形的边界坐标与砖块、挡板、墙壁等一样时,可以判断为进行了碰撞,而运动轨迹只要在碰撞后将X轴或Y轴取反就可以了。 本文第一章阐述了选题目的及Java游戏目前的发展现状。第二章介绍了Java 语音的特点和基于Java游戏开发的相关的技术。第三章详细介绍了打砖块游戏,包括游戏的规则和期待的效果等。第四章进行打砖块游戏的具体设计与实现,包括界面的设计,类的设计,算法的设计等等。第五章对游戏进行运行和测试,以期检测游戏中的各种问题。期望通过本游戏实例掌握小型Java游戏开发和Java 编程的基础的知识和技巧,使自己具备开发Java游戏基本能力。 关键字:java,游戏设计,测试,打砖块,算法

手机游戏开发流程

J2ME游戏开发流程 一款J2ME游戏的开发流程大致如下: 以下为文字描述: 1、立项 在制作游戏之前,策划首先要确定一点:到底想要制作一个什么样的游戏?而要制作一个游戏并不是闭门造车,一个策划说了就算数的简单事情。制作一款游戏受到多方面的限制:市场:即将做的游戏是不是具备市场潜力?在市场上推出以后会不会被大家所接受?是

否能够取得良好的市场回报? 技术:即将做的游戏从程序和美术上是不是完全能够实现?如果不能实现,是不是能够有折中的办法? 规模:以现有的资源是否能很好的协调并完成即将要做的游戏?是否需要另外增加人员或设备? 周期:游戏的开发周期是否长短合适?能否在开发结束时正好赶上游戏的销售旺季? 产品:即将做的游戏在其同类产品中是否有新颖的设计?是否能有吸引玩家的地方?如果在游戏设计上达不到革新,是否能够在美术及程序方面加以补足?如果同类型的游戏市场上已经有了很多,那么即将做的游戏的卖点在哪里? 以上各个问题都是要经过开发组全体成员反复进行讨论才能够确定下来的,大家一起集思广益,共同探讨一个可行的方案。如果对上述全部问题都能够有肯定的答案的话,那么这个项目基本是可行的。但是即便项目获得了通过,在进行过程中也可能会有种种不可预知的因素导致意外情况的发生,所以项目能够成立,只是游戏制作的刚开始。 在项目确立了以后,下一步要进行的就是进行游戏的大纲策划工作。 2、大纲策划的进行 游戏大纲关系到游戏的整体面貌,当大纲策划案定稿以后,没有特别特殊的情况,是不允许进行更改的。程序和美术工作人员将按照策划所构思的游戏形式来架构整个游戏,因此,在制定策划案时一定要做到慎重和尽量考虑成熟。 3、游戏的正式制作 当游戏大纲策划案完成并讨论通过后,游戏就由三方面同时开始进行制作了。在这一阶段,策划的主要任务是在大纲的基础上对游戏的所有细节进行完善,将游戏大纲逐步填充为完整的游戏策划案。根据不同的游戏种类,所要进行细化的部分也不尽相同。 在正式制作的过程中,策划、程序、美工人员进行及时和经常性的交流,了解工作进展以及是否有难以克服的困难,并且根据现实情况有目的的变更工作计划或设计思想。三方面的配合在游戏正式制作过程中是最重要的。 4、配音、配乐 在程序和美工进行的差不多要结束的时候,就要进行配音和配乐的工作了。虽然音乐和音效是游戏的重要组成部分,能够起到很好的烘托游戏气氛的作用,但是限于J2ME游戏的开发成本和设置的处理能力,这部份已经被弱化到可有可无的地步了。但仍应选择跟游戏风格能很好配合的音乐当作游戏背景音乐,这个工作交给策划比较合适。 5、检测、调试 游戏刚制作完成,肯定在程序上会有很多的错误,严重情况下会导致游戏完全没有办法进行下去。同样,策划的设计也会有不完善的地方,主要在游戏的参数部分。参数部分的不合理,会导致影响游戏的可玩性。此时测试人员需检测程序上的漏洞和通过试玩,调整游戏的各个部分参数使之基本平衡。

基于JAVA的手机RPG游戏图形引擎的实现

第34卷第4期2008年12月延边大学学报(自然科学版) Journal of Yanbian University (Natural Science )Vol.34No.4Dec.2008 收稿日期:2008203214 作者简介:臧晓强(1977— ),男,讲师,研究方向为智能信息处理.文章编号:100424353(2008)0420287203 基于JAVA 的手机RPG 游戏 图形引擎的实现 臧晓强, 崔荣一, 金小峰, 蔡京哲, 张振国 (延边大学工学院计算机科学与技术系,吉林延吉133002) 摘要:手机游戏引擎中的图形引擎非常重要,它的好坏关系到手机游戏界面流畅情况以及对手机的硬件要求程度.本文基于J 2M E 的MIDP2.0,讨论了手机RP G 游戏引擎中图形引擎的设计与实现,包括地图数据文件设计到读取、分析、加载和渲染. 关键词:游戏引擎;手机游戏;RP G 游戏;图形引擎中图分类号:TP391 文献标识码:A Implementation on Java RPG Mobile G ame G raphic E ngine ZAN G Xiao 2qiang ,CU I Rong 2yi ,J IN Xiao 2feng ,CA I Jing 2zhe ,ZHAN G Zhen 2guo (De partment of Com puter Science and Technology ,College of Engineering , Yanbian Universit y ,Yanj i 133002,China ) Abstract :The graphic engine is very important in mobile game engine which effects the game ’s scene and the mobile ’s hardware.A MIDP 2.0based on RP G engine is presented in this paper ,including how to design ,read ,analysis ,load and render the map 2data 2file. K ey w ords :game engine ;mobile game ;RP G game ;graphic engine 0 引言 随着移动技术的快速发展和一些应用开发平台如J 2M E 、BREW 的成熟,手机游戏变得越来越成熟[1].游戏引擎是控制某一类游戏运行的程序,在后台指挥游戏中的所有元素,包括图像、声音、动画、事件等协调有序地工作.游戏引擎能给开发带来方便,并对今后的修改升级、游戏的开发提供基础[2].目前,市面上的手机游戏绝大部分由游戏开发商提供,普通大众由于缺乏专业的程序开发技能而难以参与手机游戏的开发,只能被动地接受开发商、运营商所提供的应用[325],因此建立一个能够让一般的游戏设计人员使用、便于操作的游戏引擎变得更为迫切.限于篇幅,本文重点探讨地图的读取及渲染的实现. 1 MIDP 中重要的API 简介 M IDP (Mo bile Information Device Profile ,M IDP )提供了对手机设备的屏幕和硬件键的细 粒度控制.其中主要的API 类如下:1)Screen 类是高级小构件如Alert 、List 、Form 的基础,MIDP 2.0 允许同一个Form 上混合文本和图像;2)Canvas 类是低级M IDP U I 的基础,提供对整个屏幕的像素级绘画的访问,以及游戏动作、按键事件的处理方法;3)Game Canvas 类继承于Canvas 类,可以直接从get 2Grap hics ()方法中得到Grap hics 对象并且在该对象上绘图,并可以调用flush Grap hics ()方法更新屏幕的一部分.M IDP 2.0的game 包为游戏应用程序定义了一套完整的A PI.MIDP 2.0除了Game Canvas 类之外,还提供了支持平铺或

Java游戏开发项目及游戏源码

J a v a程序设计项目 1.项目背景 为了提高学生动手能力,增加学生实践的机会,某软件公司实习单位要求学生5-6人组成开发团队进行Java程序项目开发,参考自己团队的实力与客户的要求,使用Java语言开发某一项目,此项目可以是应用程序,也可以是游戏开发等,项目名称自拟。 2.硬件资源和软件资源 (1)每组配备联网PC台,智能手机一部(带有手机数据 线)HP打印机一台。 (2)eclipse-SDK-3.6.1-win32软件开发程序(含有eclipseme插件)、SUNWTK 无线开发包或Symbian_3_SDK_v0_9等手机开发包。 3.实验室功能需求 (1)实现学生机和教师机器(服务器)进行通信,相互共享资源。 (2)教师机器(服务器)上安装一台打印机,实现学生机可以共享打印。 (3)实现教师机器(服务器)连接和访问Internet。 (4)实现每一台学生机器访问Internet。 (5)要求为每一项目组学生机和教师机器分配一个标识,即学生机器的机器名为ST1~ST10,教师机器名为Server。 4.项目实施要求 (1)要求各项目小组拿出详细的某某Java程序设计项目报告书(具体项目规划书格式参考附表一),关键步骤要有相应的截图。 (2)要求项目组长向各小组讲解与演示自己小组的项目成果,组长小组成员要熟练的解释与分析自己负责编写的Java代码或项目分工成果。 (3)最后提交用小组命名的文件夹,其中包括开发所用的所有资料与项目成果。 附表一: 雷霆战机项目报告书 一、项目概述 本项目为一个Java游戏,是一个基于J2ME平台的飞机射击类游戏。 二、项目开发团队 三、所用Java相关知识点

(完整word版)基于Java的猜拳小游戏设计

目录 绪论............................................... 错误!未定义书签。 一、背景与意义..................................... 错误!未定义书签。 二、设计原理与方案................................. 错误!未定义书签。 一)方案....................................... 错误!未定义书签。 二)设计思路................................... 错误!未定义书签。 三)系统分析................................... 错误!未定义书签。 四)程序概要设计............................... 错误!未定义书签。 五)工作流程图................................ 错误!未定义书签。 六)程序框图.................................. 错误!未定义书签。 七)程序中所用类说明.......................... 错误!未定义书签。 八)程序运行效果及存在的问题................... 错误!未定义书签。 三、项目实现....................................... 错误!未定义书签。 一)程序用到的类库简介......................... 错误!未定义书签。 二)游戏主程序设计............................. 错误!未定义书签。 三)主界面PigPanel类......................... 错误!未定义书签。 四)具体实现.................................. 错误!未定义书签。 四、运行结果....................................... 错误!未定义书签。 一)结果截图................................... 错误!未定义书签。 二)系统在调度中经常出现的问题................. 错误!未定义书签。 五、心得........................................... 错误!未定义书签。 六、总结语......................................... 错误!未定义书签。 七、参考文献 (19)

手机游戏简单开发

手机游戏开发和应用分析 根据最新出炉的《2014年中国游戏产业报告》显示,2014年移动游戏收入达274.9亿元,首次超过网页游戏,并且比2013年增长了两倍多。业界预测,今年国内手游规模可达380亿-400亿元 一款手机游戏的诞生 如今的手机,你可以把它看着是一台功能全面的网络计算机。虽然它在屏幕大小、硬件配置、使用方式上与传统计算机有着很大差距,但还是有许多共通之处的。以手机游戏而言,它确实有自己的特殊之处,但是游戏的整个开发流程,与传统游戏开发则有异曲同工之妙。 1.设计文档,勾画游戏蓝图 典型的手机游戏开发过程可分为策划和开发两大阶段。策划阶段包括开始的游戏创意、立项到最终形成一个完整可行的设计文档。 每个游戏项目的产生,最先都是源自某个创意。大多数手机游戏的创意,来自于传统的游戏机,如贪吃蛇、俄罗斯方块、泡泥鳅龙、马里奥、波斯王子、极品飞车等。所有创意,最终要形成一个确定的,有可行性的设计文档,它就是游戏后续开发的一张蓝图,一个向导。 手机游戏的许多创意来自传统游戏机 一个典型的手机游戏策划案需要包括:游戏名称,游戏类型,运行环境(包括对应机种和基本配置),发行区域(以哪些国家或地区为主),用户分析(针对人群的年龄、性别以及经济能力),游戏概述(游戏的时间背景、空间背景、视角、世界观、题材、情节、人物简述),游戏特征(描述此游戏不同于其他同类游戏的重要特征,也就是这个游戏的创意点),开发周期(包括前期策划、实际开发、测试等环节所需要的时间资源以及人员资源),市场前景分析等等。 实战:超级俄罗斯方块策划案(一) 超级俄罗斯方块是使用Java Me开发的基于Nokia S40、S60,索尼爱立信,摩托罗拉,三星,LG等主流手机平台的一款彩屏手机游戏。这是一个益智类单机版游戏,逻辑较简洁,容易上手,老少咸宜。 游戏名称:超级俄罗斯方块 游戏类型:益智类(PUZ) 游戏人数:1人 游戏内容: 在传统的俄罗斯方块规则之上增加了的方块之中随机出现的道具,同时引入数个可爱的动画人物根据玩家的控制情况进行一系列跑步、跳舞等动作。排行榜和随着游戏关卡而递增的难度丰富了游戏过程。 ……

手机网络游戏 服务器端配置 客户端发布与运行 配置源程序

手机网络游戏使用说明书 配置源程序 发布与运行 1.服务器端配置 (1)将光盘\TM\10\XiangQiServer文件夹拷贝到Eclipse的工作空间中。 (2)启动Eclipse。 (3)选择“文件”/“导入”菜单项,展开“常规”节点,选择“现有项目到工作空间中”子节点,如图1.1所示。 图1.1 “导入”窗口 (4)单击【下一步】按钮,单击【浏览】按钮,选择程序所在目录,然后勾选“将项目复制到工作空间中”复选框,如图1.2所示。

图1.2 “导入”窗口 (5)单击【完成】按钮。 (7)参照第7章文档中的7.3.5节中的第5小节,为MyEclipse配置Tomcat服务器。 (8)单击工具栏的“”按钮,将弹出如图1.3所示的对话框。这个对话框是项目发布对话框,在对话框的“Project”下拉选择框中选择本系统的项目名称“XiangQiServer”,单击Add按钮进行项目发布的设置。 图1.3 MyEclipse项目发布对话框 (9)在弹出如图1.4所示的对话框中,选择“Server”下拉选择框中的“Tomcat 5”服务器,单击“完成”按钮程序将自动发布到服务器中。如果需要重新发布项目,可以单击Redeploy按钮。

图1.4 New Deployment (10)单击工具栏中按钮右侧的小箭头,在弹出的菜单中选择“Tomcat 5”/“Start”菜单项,如图1.5所示。这样可以在MyEclipse中启动Web服务器。 图1.5 服务器运行菜单 2.客户端发布与运行 (1)将光盘\TM\10\xiangqi文件夹拷贝到Eclipse的工作空间中。 (2)启动Eclipse。 (3)选择“文件”/“导入”菜单项,展开“常规”节点,选择“现有项目到工作空间中”子节点,如图1.6所示。 图1.6 “导入”窗口 (4)单击【下一步】按钮,单击【浏览】按钮,选择程序所在目录,然后勾选“将项目复制到工作空间中”复选框,如图1.7所示。

基于Java的手机程序设计

目录 引言 (2) 一、系统分析 (2) (1)开发平台和技术分析...................................... (2) (2) JAVA语言特点 (3) (3)需求功能分析 (4) (4)数据流程分析 (5) 二、系统设计 (5) (1)程序流程设计 (5) (2)程序类设计 (7) 三、系统功能实现 (9) (1)通过双缓冲技术实现动画 (9) (2)游戏菜单的绘制 (9) (3)游戏逻辑及屏幕GAMECANVAS类 (10) (4)游戏按键的实现 (14) 结论 (17) 参考文献: (19) 附录 (20) 致谢 (22)

引言 目前,中国的手机用户已经突破4亿大关,同时手机用户还在翻倍增长,远远没有达到饱和的程度,用户数量持续高攀,市场的潜力和巨大的商机已经不言而喻。4亿的国内手机用户在满足了基本的通信等需求后,还渴望着有更丰富的无线增值业务。而经过3年多的市场培育,目前手机对手机游戏的认知度和普及率已经显著提高,手机游戏市场的需求无线膨胀,前景相当乐观。 作为无线娱乐产业的先行者,手机游戏势必会在其领域中脱颖而出,占领绝大部分的市场份额。同彩铃、彩信等其他业务相比,手机游戏的创造性、娱乐性互动性和用户黏性都具有绝对的先天优势,这也是其他无线业务所无法比拟的。 手机游戏产业已成为政府部门、海内外运行上、SP(服务提供商)行业关注的焦点,作为运营商的中国移动将手机游戏作为新业务发展的一个战略性的重点业务。 3G的推出对手机游戏来说,客户端与服务器的数据传输速度会更快,图像视频更加清晰流畅,社区交互更加便捷,画面显示更加夺目,这些要素的大幅度生化使得用户的游戏体验更加丰富。玩家站在任何地方,都可以对是打开手机,享受手机游戏带来的无线乐趣。 1、系统分析 1.1 开发平台和技术分析 1.1.1Eclipse简介 集成开发环境(Integrated Developing Environment,简称IDE)是一个综合性的工具软件。目前所有的IDE中,Eclips可以说是有发展前途的产品之一。Eclips Platform是一个开放的可扩展的IDE。Eclips Platform提供建造块和构造并运行集成软件开发工具的平台,允许工具建造者独立开发与他人工具无缝结成的工具,无需分辨一个工具功能在那里结束,而另一个工具功能在哪里开始。Eclips 项目产生的工具和来自其他开放源代码的第三方软件组合而成。Eclips项目生产的软件一CPL发布,第三方软件有各自的许可访问协议。 1.1.2 Wireless Tool Kit简介 WTK(Wireless Tool Kit)是Sun公司针对J2ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。它通

手机游戏开发的5个阶段

目前,开发手机游戏的厂商如同雨后春笋般的冒了出来,有大有小,甚至几个朋友在一起就能攒出一个小公司,进行开发。每个公司,也都有“具备自己特色”的开发过程,好一些的,直接套用传统的软件工程的理论,差一些的,也只能闷头苦干了。我在这里想谈的是对于小团队开发游戏的一种高效的开发方法和阶段划分。 游戏开发的阶段划分,我认为可以划分为5个阶段,叙述如下: 第一阶段:提案 这一阶段要做的主要工作是明确要做什么样的游戏,游戏的名称是什么,采用何种表现方式(2D,2.5D,3D等),游戏的卖点(特色)何在,实现在什么样的平台上,人员如何搭配。 无论是公司还是小团队做游戏的最终目的都是为了盈利,所以做为游戏设计者就应该针对市场来设计游戏,而不能针对个人的喜好而设计游戏。能被大多数人接受的游戏才是一款好游戏,才能更好的盈利。所以在决定做什么游戏之前要先确定主要针对什么样的玩家来做这个游戏,是男孩还是女孩,是老少皆宜还是20多岁的年轻人,这个目标确立了之后才能更好的挖掘这类玩家的心理,使游戏的设计更充分的满足这类玩家心理和精神上的需求,这样游戏才能被更多的玩家接受,团队才能更好的盈利。 根据已选择针对的玩家群体,就该选择适合这个玩家群体的游戏题材,一个游戏题材的选取也非常重要,一个好的题材有助于设计者表现游戏的特色,使玩家很快的了解游戏背景,游戏能够很容易上手,更好的被玩家接受。有三大类游戏题材比较容易被玩家接受:1发布地区人人皆知的历史或宗教;2与常识相关的;3与某有名的故事或电影相关的。总之,在所选玩家群体大部分玩家都熟悉的题材上做游戏会更容易被玩加接受。 然后就是有关游戏概念的设计,需要确定的是游戏的类型(例如:RPG、策略、格斗等),游戏的表现方式(例如:2D、2.5D或3D),在什么平台上实现以及游戏的特色。这些问题都要根据团队的技术实力、市场需求的紧迫程度、开发成本等各方面因素来决定。在确定了游戏的类型、表现方式和实现平台之后,就要在这三个条件的限制之下尽可能的发挥策划的创造力,在游戏特色上尽可能的下功夫,并写出两份文档:一份游戏策划案的提纲和一份立项建议书。在策划案提纲中要让技术人员能够看明白游戏需要具有什么样的功能。在立项建议书中要写清游戏针对的人群,游戏类型,游戏表现方式,游戏实现平台,游戏卖点,实现所需的大致时间,以及人员安排。 完后,招集市场、技术、美工等人员进行集体评审,根据这份立项建议书,客观的评价技术实力,开发周期,市场效应等问题,最终决定是否要做这个游戏。 这个阶段的工作目标就是确定将要做的是一个能被市场广泛接受的游戏并确保游戏的可行性。一个不能被市场接受的游戏或者根本无法实现的游戏设计在这个阶段都会被否定,或做设计上的修改或放弃做这个游戏。尽可能的减少项目实施以后所要承担的风险。 第二阶段:设计 游戏的设计过程中需要策划、程序、美术、市场共同协作完成,一个游戏做得好坏,这个阶段起到了决定性作用,下面将对这四种职责的工作内容分别进

基于J2ME的手机游戏设计与实现Java.

基于J2ME的手机游戏设计与实现Java 毕业论文 目录前言11绪论21.1 Java与J2ME概述21.1.1 Java历 史21.1.2 关于J2ME 31.2 手机游戏的前景41.2.1手机游戏载体的优 势41.2.2 手机游戏与传统游戏的差别52 开发环境简介72.1开发工具的选择72.2 Wireless Tool Kit 72.3 Java开发环境的建立83 需求分析和概要设计113.1设计的限制条件113.1.1 内存113.1.2 显示大小和分辨 率113.1.3 手机界面123.2 需求分析123.2.1用户调查和目标用 户123.2.2 游戏种类133.2.3长期的计划133.2.5游戏性133.2.5创 意133.3 概要设计143.3.1 游戏简介143.3.2 模块划分及功能143.3.3 关于Canvas 153.3.4 Graphics类173.3.5绘制背景技术184 详细设 计194.1主菜单的设计194.2 控制逻辑实现204.2.1 定义相关变 量204.2.2 游戏的初始化214.2.3绘图方法214.2.4消息处理机 制274.2.5游戏的存取334.3 图片处理344.3.1 Image类354.3.2 Draw 类374.3.3 Map类405 结束语42参考文献43致谢44 基于J2ME的手机游戏设计与实现摘要: 随着手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。J2ME(Java 2 Micro Edition)就是近年来随着各种移动通信设备的飞速发展而诞生的1项新的开发技术。它 定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的 解决方案,并因其“Write Once, Run Anywhere”的Java特性而提高开发的效率。本文中采用了J2ME技术,设计并开发了1款有1定商业价值的手机游戏--华容道。论文介绍了J2ME的相关背景和技术,并从软件工程的角 度出发,详细阐述了需求分析,概要设计,详细设计等开发过程。关键词: Java; J2ME; MIDP2.0; 手机游戏。 Design and Implementation of Handset GamesBased on J2ME Abstract: When cell phone is getting ever more popular nowadays, with the implementation of Java technology on mobile equipment, increment of capital on communication service exhibits its force on people’s everyd ay life, providing them ever fast information just in hand. J2ME is a kind of fast developing technology implemented on various devices especially mobile communication equipments. It focuses on application for consumptive electronic products, providing revolutionary solution to the intelligentization and diversification of the equipment , and improves the efficiency of the development process thanks to it includes the nature of” Write Once, Run Anywhere” of Java.HuaRong Road, one handset game with certain commercial value, has been

手机游戏制作开发流程

手机游戏制作开发流程 1、产品选择和周期控制 手机游戏的开发周期尤其是JAVA,BREW游戏的开发周期比较短,游戏的开发周期的长短对于整个的开发团队和相关的管理层是有很大影响的。一般JAVA,BREW游戏的开发周期掌握在一个月内,不过也要看游

戏本身设计情况—发游戏需要制定一个团队的发展战略和方向,一个成熟的开发和验证标准,通过团队的意见,形成团队的开发体系。围绕游戏开发标准进行合理恰当的主题选择。最初需要解决一个开发什么类型或是大概是怎么开发思路让所有的团队成员能够认可这样的产品类型选择策略。一般意义上是结合2方面的因素来分析产品策略选择,一个是外部市场分析,

包括产品类型,游戏的内容,玩法,上市地等进行信息收集和总结,细分市场。另外的一个就是分析下,团队的开发能力,市场宣传能力,资金能力,资源状况等。从内部找问题是最为主要的,但是也不能说有市场我们虽然做起来有困难,委琐了。市场的缔造者一般都是技术领先或是市场占有领先的,需要一个长期的历练过程。一个团队做事情,刚开始最好不要去 y2t0d 手游 https://www.doczj.com/doc/db16075122.html, 手机游戏

选择比较大的游戏内容,这对于刚组建的团队不是一个很好的练习模式,从小的游戏入手,可以参考市面上游戏,第一个项目一定要控制在1个月之内。当完成虽是一个小项目后,团队成员也会很高兴。 2、制作过程 产品需要有一个提案,提案主要阐述游戏的介绍,

操作和其优势何在。这个提案可以由热呢后人来提出,但是要知道,在你提出这样的一个游戏思路后,很快你将受到其他人的意见。甚至是你自己也发现这样的一个游戏毫无意思。你由原来的简单的想法,变成怎样去维护这样的一个主题。很多都会花不少的时间去开会,仔细研究讨论,你提出的这个游戏思路是否可性。有时候,甚至需要1天的时间来讨论。这样的方 y2t0d 手游 https://www.doczj.com/doc/db16075122.html, 手机游戏

手机游戏策划书(完整版)

手机游戏策划书 手机游戏策划书 spaeshooter游戏策划案 spaeshooter游戏是使用j2me开发的一款彩屏手机游戏,这是一个射击单机版游戏,操作简洁、吸引力强、供广大青少年业余时间娱乐。每次游戏玩家人数为一名,游戏中一共分三关,每关难度递增,关卡可自由选择。 (一)概要说明 (1)游戏名称: spaeshooter。 (2)游戏类型: 单机模式。 (3)游戏人数: 1人。 (4)游戏内容: 本游戏为操作简易而经典的手机桌面射击类游戏,该游戏有完美的桌面背景享受,给喜欢玩射击类游戏的玩家们展现了一个全新的射击游戏世界。进入游戏后,玩家可以自行选择等级难度,潜艇是玩家的主角操作,军舰上方的敌机会不停地往下抛炸弹,两家飞机只能同时扔下一个炸弹。军舰的生命值为 3,即被敌机炸弹击中三次,游戏就结束,重新开始。军舰击中敌机一次,敌机就自动灰飞烟灭,达到一定上限分数,游戏就自动进入下一关。

(二)游戏流程 游戏帮助游戏中返回界面 ↑↑↑↑ 欢迎动画主菜单→开始游戏(选关)→第一关→第二关→第三关↓ ↑↓↓↓ ↓← ← ← ← ← ← ← ← ← ← ← ← 结束游戏 的畸形发展;有的sp既有较好的产品生产线,也有较好的运营人员,可惜母体公司本身就根不是游戏专业公司,手机游戏单项收入在同行中虽然不低,但占自己本公司的收入份额较低,对行业贡献来讲,无法形成可持续性的、长期的战略布局、、、种种问题,需要国家产业政策制定者从政策导向、中国运营商从优化价值链构成要素相互关系、游戏厂家发扬执着于艺术作品日本工学院专门学校日本电子专门学校日本漫画学院bandai电影、动画、漫画学院代代木动漫学院东映动漫研究所 2、大学、研究生院 建议在文化创意产业办公室领导下,设立创意文化产业助成奖励基金,通过严格选拔而形成的专家委员会,来审批投向中小企业的具体项目、跟进落实、监督效果; 2)) 建议充分利用现有的国家版权交易平台,保护原创产品的著作权人的合法权益,有效打击假冒、伪劣的所谓品牌产品在市场上的营利性流通; 3)) 具体到作者本人所属工委的北京市朝阳区,建议在朝阳路到东四环通惠河的文化传媒走廊的起点附近的定福庄一带,依托南侧

安卓游戏以及手机游戏开发的详细流程

安卓(Android)游戏以及手机游戏开发的详细流程【精华版】 >>首先说游戏设计部门 通常这是如下职位:游戏设计主负责(也有称主策划) 执行游戏设计师(称执行策划):分剧情策划,数据策划,也有不分的,大家一起提高。辅助员(称辅助策划):做一些比较简单的表据维护,资料收集。 工作职责: 游戏设计主负责人:主要负责游戏设计的整体把握、给大家安排工作,审核工作,提高部门人员士气。, 剧情策划一般负责背景,任务等等故事性比较强的,要求文笔要好 数据策划再细分,为规则和数据平衡,包括规则的描述,公式确定,数据表设定等等。 辅助员,主要是收集资料,维护表格等等,比较不涉及核心的工作。 *注:有一些公司或者团队,在策划岗位,还有新的岗位,如: 表现策划:主要负责特效、动作、音效收集并提需求,部分如音效部分亦有策划来完成。资源策划:主要负责UI设计,模型相关配置,资源管理等等。

>>下面是程序部门 主程序与主设计师,是对游戏引擎最了解的人,以主程序为最强。主程的主要工作,安排程序部门工作,定游戏的数据结构,定一些主要方案的完成方法。 一般程序员,分服务器端与客户端、服务器端程序,对于数据库结构,数据传输、通讯方式等等。客户端程序,对图像及优化有研究的会易受重用。 >>美术部门 主美负责整体美术风格的把握 原画绘制原画交于3D 2D负责贴图,游戏界面等的制作 3D负责3D建模,动作等方面工作 >>脚本与编辑器 在具体游戏实现时,越来越多的公司不会说把游戏中的数据写在C++里,而是用“脚本与数据库”的方式。 C++的作用是用来解释脚本和调用数据库的 在脚本中,写上, if

手机游戏开发基础(经典)

1 第十四章 手机游戏开发基础 MIDP 中定义的UI (用户界面)从逻辑上包括两组API :高级API 和低级API 。高级API 通过应用高层抽象实现,它主要强调可移植性。而实际的绘制于用户交互处理则有实现具体来完成。使用高级API 的应用程序对于组件的显示外观只有有限的控制权,它只能访问高级UI 事件。 另一方面,通过使用低级API ,应该程序可以完全控制外观,而且可以直接访问输入设备并控制由用户交互产生的重要事件。但低级API 可能是与某一固定设备相关的,即可能只在某一设备上可用。所以,使用低级API 的应用程序在可移植性上会大打折扣的。这也是所有开发人员比较头疼的事,在某款手机上开发的游戏,在其他机型上就有可能运行不了,还得需要代码上的改动,而且这种代码上的改动有时会很大的,那么要求开发人员在做游戏的过程中,时刻注意游戏的可移植性问题。 简单的说,高级API 由于控制不了控件的外观,所以一般来说,高级API 都用于手机上的应用或游戏当中的参数设置(如:游戏的关数、难易程度),相反,因为低级API 可以随意在手机屏幕上画各种各样的内容,而且能够很方便地得到用户的输入(包括触摸方式),所以在游戏过程中,主要用的还是低级API 。 本章将讨论手机游戏开发用户界面的一些基础知识,而后两章将介绍使用高级API 和低级API 的UI 开发。 14.1 MIDLET 程序开发的基本方法 1) 编写源代码,生成.java 文件。 2) 编译、预校验,生成.class 文件。 3) 在模拟器上运行并测试。 4) 打包生成jar 文件。 5) 下载到真机上测试。

2 MIDlet程序开发的基本流程图 14.2MIDP 程序类 MIDLET 在上一章节,我们通过一个简单的例子,介绍了MIDlet的生命周期,已经对MIDlet有了一个初步的认识,下面我们要系统地学习一下MIDlet。 14.2.1MIDlet 类介绍 一个MIDP应用程序称作MIDlet——MIDP小应用程序,它不能够单独地运行,必须运行在特定的环境之中,或者说运行在一个容器中。可以把这个容器看作是个大的应用程序,它运行在Java虚拟机之上,但不能完成任何特定的任务,因此需要程序开发者编写代码以完成一项工作,这些编写的程序就称作小应用程序。这样设计的目的是为了让它能在所有的容器中运行,这些容器实现可能不同,但容器的内部却是相同的。 通过这种形式,程序开发者就从各种运行环境、各种设备中解放出来,只需设计一个MIDlet,就可以在不同的浏览器上运行。比如不同的厂家、不同型号的手机,只要它支持J2ME、支持MIDP,就有这样一个容器。至于这个容器的外部形状如何,程序开发者不必考虑,因为容器的内部都是一样的,只要编写规范的小应用程序就行了。 MIDlet中这个容器就是MIDP实现,它以SUN公司发布的CLDC规范和MIDP 规范为标准,然后针对设备进行移植,从而提供给所有的MIDlet都一样的容器内部接口。编写MIDP应用程序的要求就是必须扩展MIDlet类,这个类定义了一些接口,JAM可以通过这些接口对MIDlet进行控制。MIDlet类位于以下包中:java.microedtion.midlet,因此,在所有的MIDlet中,都必须引入这个包:import javax.microedtion.midlet.*。注意:这里midlet表示包时必须小写,而MIDlet类的前三个字母大写。在本书中,称MIDP应用程序为MIDlet,可以表示整个应用程序,也可以只表示扩展了MIDlet类的子类,即MIDP应用程序的主类。 14.2.2midlet包介绍 midlet包对MIDP应用程序进行了定义,也定义了应用程序和它所运行的环境之间的接口,如前面所述MIDP应用程序被称作MIDlet。 midlet包中只有一个类——MIDlet,它是MIDP应用程序必须要扩展的父类,还有一个异常类——MIDletStateChangeException,它用来监测MIDP应用程序状态的改变。Midlet包整个层次结构如下: class https://www.doczj.com/doc/db16075122.html,ng.Object

基于java的手机程序设计

目录 引言 (2) 1、系统分析 (2) 1.1开发平台和技术分析 (2) 1.1.1Eclipse简介 (2) 1.1.2 Wireless Tool Kit简介 (3) 1.1.3 Java 2 Micro Edition简介 (3) 1.2J A V A语言特点 (3) 1.3需求功能分析 (4) 1.4数据流程分析 (5) 2、系统设计 (5) 2.1程序流程设计 (5) 2.2程序类设计 (7) 2.2.1 MIDlet类 (7) 2.2.2画布Canvas类 (7) 2.2.3界面设计 (7) 2.2.4按键设计 (8) 2.2.5功能设计 (8) 3、系统功能实现 (9) 3.1通过双缓冲技术实现动画 (9) 3.2游戏菜单的绘制 (10) 3.3游戏逻辑及屏幕GAME C ANV AS类 (10) 3.3.1地图的创建以及背景滚动的实现 (11) 3.3.2游戏角色飞行的实现 (11) 3.3.3使用定时器和向量类实现子弹效果 (12) 3.3.4按0键增加子弹速度的实现 (13) 3.3.5使用定时器实现敌机飞行效果 (13) 3.3.5碰撞检测的实现 (14) 3.3.6爆炸图片的实现 (14) 3.4游戏按键的实现 (14) 结论 (17) 参考文献: (19) 附录 (20)

致谢 (22) 引言 目前,中国的手机用户已经突破4亿大关,同时手机用户还在翻倍增长,远 远没有达到饱和的程度,用户数量持续高攀,市场的潜力和巨大的商机已经不言 而喻。4亿的国内手机用户在满足了基本的通信等需求后,还渴望着有更丰富的 无线增值业务。而经过3年多的市场培育,目前手机对手机游戏的认知度和普及 率已经显著提高,手机游戏市场的需求无线膨胀,前景相当乐观。 作为无线娱乐产业的先行者,手机游戏势必会在其领域中脱颖而出,占领绝 大部分的市场份额。同彩铃、彩信等其他业务相比,手机游戏的创造性、娱乐性 互动性和用户黏性都具有绝对的先天优势,这也是其他无线业务所无法比拟的。 手机游戏产业已成为政府部门、海内外运行上、SP(服务提供商)行业关注的 焦点,作为运营商的中国移动将手机游戏作为新业务发展的一个战略性的重点业 务。 3G的推出对手机游戏来说,客户端与服务器的数据传输速度会更快,图像 视频更加清晰流畅,社区交互更加便捷,画面显示更加夺目,这些要素的大幅度 生化使得用户的游戏体验更加丰富。玩家站在任何地方,都可以对是打开手机, 享受手机游戏带来的无线乐趣。 1、系统分析 1.1 开发平台和技术分析 1.1.1Eclipse简介 集成开发环境(Integrated Developing Environment,简称IDE)是一个综合 性的工具软件。目前所有的IDE中,Eclips可以说是有发展前途的产品之一。Eclips Platform是一个开放的可扩展的IDE。Eclips Platform提供建造块和构造并运行 集成软件开发工具的平台,允许工具建造者独立开发与他人工具无缝结成的工

Java编写手机游戏程序的方法和实例--附件:手机游戏源代码

《Java编写手机游戏程序的方法和实例》一文的游戏源代码: 威海职业学院信息工程系赵永华 第一个子程序:HardDriveMIDlet.java /* HardDriveMIDlet.java : Container MIDlet */ import java.io.IOException; import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.*; public class HardDriveMIDlet extends MIDlet implements CommandListener { private Display dgDisplay; private HardDriveCanvas hdCanvas; private GameOverCanvas goCanvas; static final Command ExitCommand = new Command("Exit", Command.EXIT, 0); public HardDriveMIDlet( ) { // Create the main Display dgDisplay = Display.getDisplay(this); } protected void startApp() //throws MIDletStateChangeException { try{ hdCanvas = new HardDriveCanvas(this, "/car.png", "/obstacle.png"); hdCanvas.start(); hdCanvas.addCommand(ExitCommand); hdCanvas.setCommandListener(this); } catch (IOException ioe) { System.err.println("Problem loading image "+ioe); } //Set newly created canvas as current canvas dgDisplay.setCurrent(hdCanvas); } public void pauseApp() {

相关主题
文本预览
相关文档 最新文档