我想朝坦克面對的方向發射子彈。我使用加速度計來控制我的坦克的角度。當我傾斜我的設備時,我希望我的坦克朝著它所面對的方向射擊。使用我當前的腳本,它只能垂直拍攝。 為了重復這個問題,我不能縮小我的代碼比這from kivy.app import Appfrom kivy.uix.image import Imagefrom kivy.uix.widget import Widgetfrom kivy.properties import NumericProperty, ReferenceListProperty, ObjectProperty,ListProperty, BooleanPropertyfrom kivy.vector import Vectorfrom kivy.clock import Clockimport randomimport mathfrom plyer import accelerometerfrom kivy.lang import BuilderBuilder.load_string("""<Tank>: canvas.before: PushMatrix Rotate: angle: self.angle origin: self.center canvas.after: PopMatrix<Flame>: canvas.before: PushMatrix Rotate: angle: self.angle origin: self.center canvas.after: PopMatrix<AccelerometerGun>: tank: tank x_label: x_label canvas: Rectangle: source: "wood.png" #texture: root.bg_image.texture#source: "images/bg.png" size: self.size#root.size[0]+200, root.size[1] pos: self.pos#root.pos Label: id: x_label text: "Tilt value " center: self.parent.center Tank: id: tank center: (root.width/2, 70) #self.parent.center""") class Flame(Image): velocity_x = NumericProperty(0) active = BooleanProperty(False) velocity_y = NumericProperty(0) velocity = ReferenceListProperty(velocity_x, velocity_y) angle = NumericProperty(0) def __init__(self, **kwargs): super(Flame, self).__init__(**kwargs) self.size_hint=(None, None) self.source = "zn.zip" self.anim_delay= 0.35 self.anim_loop = 1 rs = random.randint(70, 80) self.size = (rs, rs) self.bind(active=self.addV) def addV(self, *args):注意:我想使用 Vector 而不是 Animation 來移動子彈
如何以我的坦克面對的同一方向射擊?
慕碼人8056858
2021-08-14 17:17:53