当前位置: 代码迷 >> 综合 >> 游戏入门之二 雷电 Hero(自己飞机)模型的创建
  详细解决方案

游戏入门之二 雷电 Hero(自己飞机)模型的创建

热度:96   发布时间:2023-12-09 08:13:40.0
这里我将要讲述我游戏的主角,Hero。这里的游戏的主角相对比较简单。 只需实现,飞机的移动以及创建。
唯一的两点是飞机移动的时候,不能把飞机都给移动到屏幕外面去了。只有的话,那我们这些设计游戏的人就太不专业了。呵呵。
         至于发射子弹,本来我也想把Ball跟发射子弹的创建以及管理都放在此的,后来想想,还是分开点好。这些就是高手们常常说的。要解耦啊,每个类应该尽量简单啊。不应该负责额外的工作啊。
       我听这些都烦恼死了。不过烦恼归烦。高手的话还是要听的。^_^
     同理可以实现Foe, Ball等角色类,以及创建FoeManager, BallManager等.这里就不详细阐述他们了
java 代码
  1. /******************************************************************** 
  2.  * 项目名称             :j2me学习          
     
  3.  *  
  4.  * Copyright 2005-2006 Wuhua. All rights reserved 
  5.  ********************************************************************/  
  6. package org.wuhua.battleplan;  
  7.   
  8. import org.wuhua.game.model.Fairy;  
  9. import org.wuhua.game.util.Log;  
  10.   
  11. /** 
  12.  * 类名:Hero.java 
     
     
  13.  * 编写日期: 2006-11-30 
     
  14.  * 程序功能描述:玩家飞机控制类 
     
  15.  * Demo: 
     
  16.  * Bug: 
     
  17.  *  
  18.  * 程序变更日期 :
     
     
  19.  * 变更作者 :
     
     
  20.  * 变更说明 :
     
  21.  *  
  22.  * @author wuhua 
     
     
  23.  */  
  24. public class Hero extends Fairy {  
  25.       
  26.   
  27.     static Log log = Log.getLog("Hero");  
  28.     static Hero hero;  
  29.     private Hero(int x, int y){  
  30.         super(Resources.FLY, x, y);  
  31.     }  
  32.     /** 
  33.      * 在选中的位置的位置创建一个Hero 
  34.      */  
  35.     public final static Hero createHero(int x, int y){  
  36.         if(hero == null){  
  37.             hero = new Hero(x,y);  
  38.         }  
  39.         return hero;  
  40.     }  
  41.       
  42.       
  43.       
  44.       
  45.     public final void moveLeft(){  
  46.         if(this.getX()>=16)  
  47.             this.move(-80);  
  48.     }  
  49.       
  50.     public final void moveRight(){  
  51.         if(this.getX()<=Platform.WIDTH-16)  
  52.             this.move(80);  
  53.     }  
  54.       
  55.     public final void moveUp(){  
  56.         if(this.getY()>=8)  
  57.             this.move(0, -8);  
  58.     }  
  59.     public final void moveDown(){  
  60.         if(this.getY()<=Platform.HEIGHT-38)  
  61.             this.move(08);  
  62.     }  
  63. }