⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 通过游戏代码学j2me(五).txt

📁 j2me游戏制作学习 资料
💻 TXT
字号:
通过游戏代码学J2ME(五)
package npc7776;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;
/**************************************
* 类功能介绍:控制子弹,将所有子弹的状态放入
* 纪录集当需要刷新或更新时再取出
*************************************/
public class bullet {
  Sprite bullet;
  Image img;
  Vector bullets = new Vector();
  public bullet() {
    try{
      img = Image.createImage("/res/bullet.png") ;
    }catch (Exception e){}
    bullet = new Sprite(img,8,8);
  }
  //加入子弹
  public void addBullet(int x, int y,int width){
    Sprite b = new Sprite(img,8,8);
    b.setPosition(x- bullet.getWidth() /2 + width/2,y) ;
    bullets.addElement(b) ;
  }
  //移动和删除子弹
  public void move(){
    for (int i = 0; i< bullets.size() ; i++){
      Sprite bb = (Sprite)bullets.elementAt(i) ;
      bb.move(0,-3) ;
      if(bb.getY() < 0 ){
        bullets.removeElementAt(i) ;
      }
    }
  }
  //画子弹
  public void drawSelf(Graphics g){
    for(int i = 0; i< bullets.size() ;i++){
      Sprite bs = (Sprite)bullets.elementAt(i) ;
      bs.paint(g) ;
    }
  }
}


这里比前面的飞机类只不过多了一个Vector类。Vector是使用数组
方式存储数据,此数组元素数大于实际存储的数据以便增加和插入
元素,都允许直接按序号索引元素,这个类我接触的不多,请朋友门
多多指教
public void addBullet(int x, int y,int width){..}这里int x,
int y,是取的飞机的x,y。
b.setPosition(x- bullet.getWidth() /2 + width/2,y),设置子
弹出现位置是从飞机中间的坐标。
move 的方法中,if(bb.getY() < 0 )如果子弹超过屏幕自动消失。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -