路是爬出来的

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

          这里我将要讲述我游戏的主角,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. }  


posted on 2006-12-30 09:24 路是爬出来的 阅读(180) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: