以下是我碰到的2个问题
我设置了1个菜单,是键盘控制进入游戏
部分代码如下switch (gameStart) {
case GAME_MENU:
menu.drawMenu(g);
break;
case GAME_START:
count++;
if (count==FPS) {
time++;
count=0;
time=(char)time;
}//设置了时间计时,FPS=24, g.setColor(0, 0, 0);
g.fillRect(0, 0, getWidth(), getHeight());
lm.append(sprite);
lm.append(t2);     //2张图合并
lm.append(t1);     //2张图合并
                                   
lm.setViewWindow(player.x-20,player.y-20 , 48, 48);
                                        //48代表可视范围的大小
lm.paint(g, player.x, player.y);
if(time==5){
gameStart=GAME_MENU;
menu.drawMenu(g);
count=1;
time=0;
}时间到5的时候,返回主菜单当我这样的写的时候
屏幕没实现滚屏,能走出边界下面,我可视范围是跟的人物坐标走动,用了lm.paint(g, player.x, player.y);
当我把lm.paint(g, player.x, player.y);改成lm.paint(g, 0, 0);
图片如下:滚屏实现了,但是屏幕只能这么大,不知道为什么...
如果我不加可视范围的话,滚屏幕是能实现的
想了很久,请高手教我一下怎么改即能实现滚屏,可视范围也能时间跟着任务走
还有个问题就是怎么把时间显示到屏幕上
我用了g.drawChar((char)time, 60, 80, Graphics.TOP |Graphics.LEFT);
把它强制转换了下,但是还是不能
PLAYER是我碰撞类...
高手们帮我下,谢谢...刚学JAVA不久
再请哪位好心人加我下Q35137319教我下,小D谢谢了

解决方案 »

  1.   


    switch (gameStart) 
    {
       case GAME_MENU:
       menu.drawMenu(g);
       break;
       case GAME_START:
       count++;
         if (count==FPS) 
         {
          time++;
          count=0;
          time=(char)time;
         }//设置了时间计时,FPS=24,g.setColor(0, 0, 0);
    g.fillRect(0, 0, getWidth(), getHeight());
    lm.append(sprite);
    lm.append(t2);    //2张图合并
    lm.append(t1);    //2张图合并
                                     
    lm.setViewWindow(player.x-20,player.y-20 , 48, 48);
                                            //48代表可视范围的大小
    lm.paint(g, player.x, player.y);
      if(time==5)
      {
       gameStart=GAME_MENU;
       menu.drawMenu(g);
       count=1;
       time=0;
      }
    }