📄 bullet.java
字号:
package seconds;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.*;//要用到image
import java.util.*;//yao yong dao random
public class Bullet extends Sprite {
private int buf[][]=new int[10][5];//zi dan yun xing gui ji
private Random rd=new Random();
private int win_width;
private int win_height;
private Graphics g;
public int spExp_count=0;
public Bullet(Graphics g,Image img_bullet,int win_wid,int win_height)
{
super(img_bullet,16,16);
this.g=g;
this.win_width=win_wid;
this.win_height=win_height;
System.out.print("win_width::");
System.out.println(win_width);
System.out.print("win_height::");
System.out.println(win_height);
//完成子弹的初始化
initBullet();
}
//初始化运行轨迹
public void initBullet()
{
for(int i=0;i<10;i++)
{
buf[i][0]=(rd.nextInt()>>>1)%4;
System.out.print("buf[i][0]::");
System.out.println(buf[i][0]);
switch(buf[i][0])
{
case 0:
buf[i][1]=0;
buf[i][2]=(rd.nextInt()&0xfffffff)%(win_height+1);
buf[i][3]=(rd.nextInt()>>>1)%5+1;
buf[i][4]=(rd.nextInt()>>>1)%5;
break;
case 1:
buf[i][1]=win_width;
buf[i][2]=(rd.nextInt()>>>1)%(win_height+1);
buf[i][3]=((rd.nextInt()>>>1)%5+1)*-1;
buf[i][4]=(rd.nextInt()>>>1)%5;
break;
case 2:
buf[i][1]=(rd.nextInt()&0xfffffff)%(win_width+1);
buf[i][2]=0;
buf[i][3]=(rd.nextInt()>>>1)%5;
buf[i][4]=(rd.nextInt()>>>1)%5+1;
break;
case 3:
buf[i][1]=(rd.nextInt()>>>1)%(win_width+1);
buf[i][2]=win_height;
buf[i][3]=(rd.nextInt()>>>1)%5;
buf[i][4]=((rd.nextInt()>>>1)%5+1)*-1;
break;
}
}
}
//更新子弹 的运行轨迹
public void updateBullet(int i)
{
buf[i][1]=buf[i][1]+buf[i][3];
buf[i][2]=buf[i][2]+buf[i][4];
//有移动就进行越界处理
if(buf[i][1]<0||buf[i][1]>win_width)
{
buf[i][3]*=-1;
}
else if(buf[i][2]<0||buf[i][2]>win_height)
{
buf[i][4]*=-1;
}
}
//绘制子弹
public void paintBullet(Sprite sp_plane)
{
for(int i=0;i<10;i++)
{
if(this.collidesWith(sp_plane,true))
{
//this.nextFrame();
//this.setVisible(false);
sp_plane.nextFrame();
spExp_count++;
}
else
{
this.setPosition(buf[i][1],buf[i][2]);
this.paint(g);
this.updateBullet(i);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -