最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
State模式在J2ME游戏设计中的应用(需要源代码留下e-mail)
时间:2008-01-12 编辑:简简单单 来源:一聚教程网
游戏设计中的状态转换是一个既是非常重要又十分复杂的部分。我前几天做移植的时候看到一个public void keyPressed(int keyCode)中间竟然有着近2000千行的代码,这样的话冗长的代码不仅不符合OO的思更加严重的是会打扰我们的程序思路。这两天运用State模式做了一个J2ME游戏中的状态转换由于只是一个实验的例子所以只做了开始菜单和帮助的转换,在这个框架下再加入其他的状态实际就是十分的简单的了。
现在DEMO中只有两个状态,两种状态下keyPressed和paint的功能是不同的,我们用状态模式来实现各种状态下的keyPressed和paint的功能功能。
首先定义抽象状态State接口,这个接口指定了keyPressed和paint的行为
public interface State {
public void onKeyPressed(int keyCode,StateManage _current);
public void paint(Graphics g);
}
State接口keyPressed和paint方法,我们实现两个子类HelpMenuState和MainMenuState,分别表示主菜单状态和HELP菜单的状态,并实现具体的onKeyPressed和paint方法:
public class MainMenuState implements State {
/**省略变量的声明和初使化部分*/
public void onKeyPressed(int keyCode, StateManage _current) {
switch (whichMenu) {
case 0:
mainMenuKeyPressed(keyCode,_current);
break;
case 1:
break;
}
}
private void mainMenuKeyPressed(int keyCode,StateManage _current) {
switch (keyCode) {
case 1: //KEY_UP = 1;
-
上一个: J2ME多人游戏注意事项(笔记类)
-
下一个: J2ME小游戏-fly
相关文章
- 2018最多人玩的佛系手游有哪些 2018最多人玩的佛系手游盘点 05-17
- 马赛克别闹CJ2017全场最魔性VR游戏 07-31
- 夏普大屏电视游戏闪耀China Joy2017 07-27
- 最强游戏机Xbox One X将在中国首秀 07-25
- 国足巨星助力EA冠军杯 球星也有自己的游戏梦 07-21
- 绝地求生大逃杀进不去游戏怎么办 07-14