我一直在做一个街机视频游戏,我需要一些关于子弹方向的帮助。现在我只有一颗不会移动的子弹,它只是在它开始的地方绘制(我正在一步一步地做所有事情)。问题是我不知道子弹会向左还是向右。我有一个名为 bullet 的布尔变量,当子弹发射时(当 X 键被释放时)它变为真。
public void pistol( boolean right ) {
if( right ) {
dbg.fillRect( barrelRightX, barrelY, barrelWidth, barrelHeight );
dbg.fillRect( handleRightX, handleY, handleWidth, handleHeight );
}
else {
dbg.fillRect( barrelLeftX, barrelY, barrelWidth, barrelHeight );
dbg.fillRect( handleLeftX, handleY, handleWidth, handleHeight );
}
if( bullet ) {
if( right )
dbg.drawOval( barrelRightX + barrelWidth, barrelY, 5, 5 );
else
dbg.drawOval( barrelLeftX - 5, barrelY, 5, 5 );
}
}
if(bullet) 之前的第一段代码只是画手枪。我把它放在那里,这样你就可以看到 right 是一个布尔参数。基本上这意味着如果子弹已经发射并且手枪朝右,那么您将绘制子弹,这样它看起来就好像它是从枪管中出来的一样,如果子弹已经发射并且它没有朝右(这显然意味着它朝左)然后你会画它,所以它看起来就像它通常会那样出来。问题是,由于运行整个程序有一个巨大的动画循环,所以当我发射子弹并改变手枪的方向(从右到左或从左到右)时,子弹会改变位置,这不应该发生。我尝试制作子弹最终,但我需要它在释放 X 键时变为真时进行更改。所以,