這裡我將要講述我游戲的主角,Hero。這裡的游戲的主角相對比較簡單。 只需實現,飛機的移動以及創建。
唯一的兩點是飛機移動的時候,不能把飛機都給移動到屏幕外面去了。只有的話,那我們這些設計游戲的人就太不專業了。呵呵。
至於發射子彈,本來我也想把Ball跟發射子彈的創建以及管理都放在此的,後來想想,還是分開點好。這些就是高手們常常說的。要解耦啊,每個類應該盡量簡單啊。不應該負責額外的工作啊。
我聽這些都煩惱死了。不過煩惱歸煩。高手的話還是要聽的。^_^
同理可以實現Foe, Ball等角色類,以及創建FoeManager, BallManager等.這裡就不詳細闡述他們了
Java 代碼
- /********************************************************************
- * 項目名稱 :J2ME學習
- *
- * Copyright 2005-2006 Wuhua. All rights reserved
- ********************************************************************/
- package org.wuhua.battleplan;
-
- import org.wuhua.game.model.Fairy;
- import org.wuhua.game.util.Log;
-
- /**
- * 類名:Hero.Java
- * 編寫日期: 2006-11-30
- * 程序功能描述:玩家飛機控制類
- * Demo:
- * Bug:
- *
- * 程序變更日期 :
- * 變更作者 :
- * 變更說明 :
- *
- * @author wuhua
- */
- public class Hero extends Fairy {
-
-
- static Log log = Log.getLog("Hero");
- static Hero hero;
- private Hero(int x, int y){
- super(Resources.FLY, x, y);
- }
- /**
- * 在選中的位置的位置創建一個Hero
- */
- public final static Hero createHero(int x, int y){
- if(hero == null){
- hero = new Hero(x,y);
- }
- return hero;
- }
-
-
-
-
- public final void moveLeft(){
- if(this.getX()>=16)
- this.move(-8, 0);
- }
-
- public final void moveRight(){
- if(this.getX()<=Platform.WIDTH-16)
- this.move(8, 0);
- }
-
- public final void moveUp(){
- if(this.getY()>=8)
- this.move(0, -8);
- }
- public final void moveDown(){
- if(this.getY()<=Platform.HEIGHT-38)
- this.move(0, 8);
- }
- }