libGosu と Chingu を使用して、基本的なチュートリアル スタイルの宇宙船の武器アップグレードを作成しようとしています。
プレーヤー クラスでは、次のいくつかのバリエーションを試しました。
def fire
Bullet.create(:x => @x, :y => @y, :angle => @angle)
Bullet.create(:x => @x + Gosu::offset_x(90, 25), :y => @y + Gosu::offset_y(@angle, 0), :angle => @angle)
end
ある程度は機能しますが、理想的な方法とは言えません。参考までに、Bullet クラスは次のようになります。
class Bullet < Chingu::GameObject
def initialize(options)
super(options.merge(:image => Gosu::Image["assets/laser.png"]))
@speed = 7
self.velocity_x = Gosu::offset_x(@angle, @speed)
self.velocity_y = Gosu::offset_y(@angle, @speed)
end
def update
@y += self.velocity_y
@x += self.velocity_x
end
end
宇宙船が回転するときに余分な弾丸を適切に整列させるために、「防火」をどのように構築すればよいですか?