站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题两个类都是扩展的Canvas类,这两个类之间可以互相调用吗?

两个类都是扩展的Canvas类,这两个类之间可以互相调用吗?

摘要: 两个类都是扩展的Canvas类,这两个类之间可以互相调用吗?


public class MenuScreen extends Canvas{}这个MenuScreen类是用来实现菜单的,在这其中用到了按键处理,即keyPressed(),同时还用了paint(Graphics g)来画菜单,实现选中的菜单成高亮度. 所以MenuScreen()类扩展了Canvas类.(如果大侠认为这样没有必要,请指出该怎么做?谢谢!)
public class GameWorld extends Canvas{}这个GameWorld类扩展Canvas,是因为实现游戏要画图和判断按键,所以GameWorld也扩展了Canvas类.(不知道真真扩展Canvas类原因是不是仅仅如此?还有什么原因是需要扩展Canvas类的? 大侠指点一下!).
回到本问题:MenuScreen实现菜单,GameWorld实现游戏画面.现在是让游戏结束后,回到菜单屏幕.我的想法是游戏结束了,就调用菜单函数,可是问题出来了: 在GameWorld中怎么样调用菜单MenuScreen类实现显示菜单??它们都是扩展的Canvas类.



采用mvc结构可以很方便的控制界面


这种做法很傻,使用一个Canvas,在你的主线程中设置不同的状态,在不同的状态画不同的东西,这是游戏的基本做法


大侠们,我是新手,请讲详细点.mvc结构是什么样的?zitengxin()
线程的不同状态是怎么控制的呢?yanhan0615(炮炮) 你有什么资料或网址可以推荐一下吗??



你要显示GameWorld的时候应该是display.setCurrent(GameWorld)吧
那你再GameWorld的构造方法里传递display进来
然后在GameWorld结束的时候调用display.setCurrent(MenuScreen)
我的做法通常是把这些东西封装在midlet类里
然后传递midlet参数到视图类里
这样就可以通过这个midlet来控制了
我也是xinshou,没做过游戏


public void paint(Graphics g){
if(status == 1){
...
}
else if(status == 2){
...
}
else if(status == 3){
...
}
...
}

public void run() {
while (flag) {
switch (status) {
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
....
}

}
repaint();
try {
Thread.sleep(sleepTime);
}
catch (InterruptedException ex) {
}
}

上面这个基本结构,你研究下吧


太谢谢楼上的朋友们了,这些最基本的东西是当前我最需要学习的东西.


↑返回目录
前一篇: 自定义缓冲区的问题!
后一篇: 我想写个往手机上传图片的小工具,请问如何实现?等。。。。。。