个人认为游戏最难控制的就是这些线程了。如果游戏复杂的话。为了避免资源冲突,死锁等。这方面对程序要求是很高的。还好。我那个游戏很简单,所以就不用考虑到这些。
只要一个最重要的东西就行了。
只要一个最重要的东西就行了。
java 代码
- //无非是要程序不停的运行,直到游戏结束为之
- while (true) {
- game.run();
- try {
- Thread.sleep(80); // 线程延迟
- } catch (InterruptedException ie) {
- }
- }
java 代码
- /********************************************************************
- * 项目名称 :<b>j2me学习</b> <br/>
- *
- * Copyright 2005-2006 Wuhua. All rights reserved
- ********************************************************************/
- package org.wuhua.battleplan;
- import javax.microedition.lcdui.Display;
- /**
- * <b>类名:GameThread.java</b> </br> 编写日期: 2006-11-30 <br/>
- * 程序功能描述:游戏线程控制类,主要负责按照一定的时间刷新屏幕,来控制画面 .
- * 因为程序是每80毫秒刷新一次,所以在控制子弹跟飞机的时候,建议设计着应该在那边控制
- * <br/> Demo: <br/> Bug: <br/>
- *
- * 程序变更日期 :<br/> 变更作者 :<br/> 变更说明 :<br/>
- *
- * @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
- */
- public class GameThread implements Runnable {
- private Game game;
- GameThread(){
- game = new Game();
- }
- public void run() {
- gameRun();
- }
- public void init(){
- game.init();
- }
- public void open(Display d){
- d.setCurrent(game);
- }
- private void gameRun() {
- while (true) {
- game.run();
- try {
- Thread.sleep(80); // 线程延迟
- } catch (InterruptedException ie) {
- }
- }
- }
- }