Java 拍摄精灵机器人
我正在用java开发一个Android游戏,在这个游戏中,我将有一个精灵跟随用户的手指,并且应该每秒发射一颗子弹。换句话说,我正在尝试附加一个每秒向上移动的位图。位图从主角色精灵的x和y坐标开始。我无法让它一次绘制多个导弹,我已经没有办法这样做了。我尝试了很多东西,我真的需要一些帮助 顺便说一下,我的主游戏面板类扩展了surfaceView并实现了SurfaceHolder.Callback:Java 拍摄精灵机器人,java,android,sprite,Java,Android,Sprite,我正在用java开发一个Android游戏,在这个游戏中,我将有一个精灵跟随用户的手指,并且应该每秒发射一颗子弹。换句话说,我正在尝试附加一个每秒向上移动的位图。位图从主角色精灵的x和y坐标开始。我无法让它一次绘制多个导弹,我已经没有办法这样做了。我尝试了很多东西,我真的需要一些帮助 顺便说一下,我的主游戏面板类扩展了surfaceView并实现了SurfaceHolder.Callback: public class MainGamePanel extends SurfaceView impl
public class MainGamePanel extends SurfaceView implements SurfaceHolder.Callback{
谢谢 据我所知,你想一次射出一颗以上的子弹吗?可以使用向量或数组来执行此操作。使用数组,您可以设置默认的可见项目符号数量,在向量中,您可以将手指能够生成的mant项目符号作为mant项目符号 这是我用来生成激光的代码(我将值存储在数组中)
public void updatePlayerLaser(布尔shootLaser){
//检查是否应创建新激光器
如果(shootLaser==真){
如果(timeLastCreatedLaser+100
在这种情况下,处理意味着激光器是死的,从而为新激光器获得旧激光光斑留出空间 你能粘贴你的图纸代码吗?是的!!非常感谢你!我爱你。
public void updatePlayerLaser(boolean shootLaser) {
// Check if a new Laser should be created
if(shootLaser == true) {
if(timeLastCreatedLaser + 100 < System.currentTimeMillis()) {
timeLastCreatedLaser = System.currentTimeMillis();
boolean createdNewLaser = false;
for(int i = 0; i < this.amountOfVisibleLasers; i++) {
if(createdNewLaser == false) {
if(holderLaser[i].isDisposed()) {
this.generateNewLaser(i);
createdNewLaser = true;
}
}
}
}
}
// Update all the other Lasers
for(int i = 0; i < this.amountOfVisibleLasers; i++) {
if(holderLaser[i].isDisposed() == false) {
holderLaser[i].update();
}
}
}