gpt4 book ai didi

java - 射击 Sprite 机器人

转载 作者:搜寻专家 更新时间:2023-11-01 09:07:45 27 4
gpt4 key购买 nike

我正在用 Java 开发一款 Android 游戏,其中我将有一个 Sprite 跟随用户的手指,并且应该每秒发射一颗子弹。换句话说,我试图附加一个每秒向上移动的位图。位图从主要角色 Sprite 的 x 和 y 坐标开始。我无法让它一次绘制多于一枚导弹,而且我已经想不出如何做到这一点。我已经尝试了很多东西,我真的需要一些帮助。

顺便说一下,我的 Main Game Panel 类扩展了一个 surfaceView 并实现了一个 SurfaceHolder.Callback:

public class MainGamePanel extends SurfaceView implements SurfaceHolder.Callback{

谢谢!

最佳答案

据我了解,您想一次发射多于 1 颗子弹的能力?您可以使用 Vector 或 Array 来执行此操作。使用 Array,您可以设置可见子弹的默认数量,而在 Vector 中,您可以拥有手指能够产生的 mant 子弹。

这是我用来生成激光的代码(我将值存储在数组中)。

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();
}

}

}

在这种情况下布置意味着激光已失效,从而为新激光腾出空间来占据旧激光点。

关于java - 射击 Sprite 机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10661509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com