|

楼主 |
发表于 2006-5-26 11:10:00
|
显示全部楼层
Re: J2ME手机游戏快速入门
从上的内容中总是向读者说明三个要素,游戏的数据运算,数据显示和数据控制,这样的说法范围太广了
我们再深入一点,对于RPG(角色扮演)来说,标题动画,游戏标题,游戏帮助,游戏场景,关于创作组,地图处
理,角色处理,脚本技术,道具管理,等等.不过在这里不打算介绍RPG的制作过程.现在继续游戏标题吧.
上面的代码中,屏幕操作已封装在一个CScreen类中,她目前只能用在main.java文件中,为了方便我们的
使用,把她提出来放在新建的CScreen.java文件中去,现在这个工程中的所用文件都能使用这个类啦!现在
再新建一个java文件随便起名为MainTitle.java
输入如下代码:
//--------------------------------------<MainTitle.java>-------------------------------
//定义标题类
public class MainTitle
{
public MainTitle(){}
public int ProcessMainTitle(int gamestatus,CScreen screen)
{
int status=0;
if(gamestatus!=1) return -1;//不是标题状态退出
while(gamestatus==1)
{
try{Thread.sleep(50);}catch(Exception e){} //程序限针
if(screen.GetKey()==1) {screen.SetKey(-1);status--;}
if(screen.GetKey()==6) {screen.SetKey(-1);status++;}
if(status>2) status=0;
if(status<0) status=2;
if(screen.GetKey()==8)
{
if(status==2) gamestatus=-1;
if(status==0) gamestatus=2;
if(status==1) gamestatus=3;
}
screen.Cls(0x00ff00);
screen.SetColor(0xff0000);
screen.DrawString("------ 游戏标题页
------",screen.GetWidth()/2-72,screen.GetHeight()/2-40);
screen.DrawString("口",screen.GetWidth()/2-50,(status*20)+screen.GetHeight()/2-20);
screen.SetColor(0x0000ff);
screen.DrawString("开始游戏",screen.GetWidth()/2-40,screen.GetHeight()/2-20);
screen.DrawString("关于游戏",screen.GetWidth()/2-40,screen.GetHeight()/2);
screen.DrawString("离开游戏",screen.GetWidth()/2-40,screen.GetHeight()/2+20);
screen.SetColor(0xff0000);
screen.DrawString("上下键移动,射击键选择
",screen.GetWidth()/2-76,screen.GetHeight()/2+40);
screen.repaint(); //使用类中的父类(继承)的repaint强调重画屏幕方法
}
return gamestatus;
}
}
接着修改main.java和CScreen.java的相关代码,保存文件编辑并运行,效果如下图.场景和帮助界面,我就
不封装成类啦,直接在游戏机构里使用即可,嗯,我就说到这里了,祝大家工作愉快.
|
-
|