这里我将要讲述我游戏的主角,Hero。这里的游戏的主角相对比较简单。 只需实现,飞机的移动以及创建。
唯一的两点是飞机移动的时候,不能把飞机都给移动到屏幕外面去了。只有的话,那我们这些设计游戏的人就太不专业了。呵呵。
至于发射子弹,本来我也想把Ball跟发射子弹的创建以及管理都放在此的,后来想想,还是分开点好。这些就是高手们常常说的。要解耦啊,每个类应该尽量简单啊。不应该负责额外的工作啊。
我听这些都烦恼死了。不过烦恼归烦。高手的话还是要听的。^_^
同理可以实现Foe, Ball等角色类,以及创建FoeManager, BallManager等.这里就不详细阐述他们了
唯一的两点是飞机移动的时候,不能把飞机都给移动到屏幕外面去了。只有的话,那我们这些设计游戏的人就太不专业了。呵呵。
至于发射子弹,本来我也想把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);
- }
- }