首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

关于屏幕切换的有关问题

2011-11-20 
关于屏幕切换的问题我是新手,模仿别人的代码,做了个测试。新建了一个MIDlet 子类,算是主类把。然后开始游戏,

关于屏幕切换的问题
我是新手,模仿别人的代码,做了个测试。
新建了一个MIDlet 子类,算是主类把。
然后开始游戏,
Display.getDisplay(this).setCurrent(gameclass);
然后我在这个gameclass里,开始游戏,,游戏有关卡,我想过一关卡,就出现一个“恭喜过关”的屏幕提示,
我大概写了如下

gameclass里,有个success()方法,过关就调用他,然后过几秒就自动进入游戏下一关。
我写了
  if(passgate == null)
  passgate = new PassGate(this);
  Display.getDisplay(parent).setCurrent(passgate); //parent是主类
  passgate.start();
然后我在 passgate 类里
public PassGate(GameScreen g)
{
super(false);
gamescreen = g;
}

public void run()
{
long startTime = System.currentTimeMillis();
long timeTaken = System.currentTimeMillis() - startTime;
while(timeTaken<4000L)
{
timeTaken = System.currentTimeMillis() - startTime;
repaint();
}
this.stop();
  Display.getDisplay(parent).setCurrent(gameclass);
   
  gamescreen.repaint();

}
synchronized void start()
  {
myThread = new Thread(this);
myThread.start();
  }

  synchronized void stop()
  {
  myThread = null;
  }
  public void paint()
{}

现在,提示画面掉出来了,可是不自动反回去啊。请问问题在那里,谢谢。。

[解决办法]

你也说了:“gameclass里,有个success()方法,过关就调用他,然后过几秒就自动进入游戏下一关。 ”
那是几秒呢?? 代码帖完整些吧。


注意状态值得转变!!

[解决办法]
恩,用TIMER类实现可能会更方便些
[解决办法]
API如下: 
void setCurrent(Alert alert, Displayable nextDisplayable)
Requests that this Alert be made current, and that nextDisplayable be made current after the Alert is dismissed.
[解决办法]
程序太长了.///
[解决办法]
多线程去处理啊,弄个canvas的提示的类,搞个线程测时间,当时间到了就换另一个出来显示啊
[解决办法]
我觉得最好是不要去用Timer,可以自己去线程去处理这种事情,并且自己起线程 的话,睡眠的时候是可以动态
更改的,灵活性会更大

热点排行