我想朝坦克面对的方向发射子弹。我使用加速度计来控制我的坦克的角度。当我倾斜我的设备时,我希望我的坦克朝着它所面对的方向射击。使用我当前的脚本,它只能垂直拍摄。 为了重复这个问题,我不能缩小我的代码比这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 来移动子弹
添加回答
举报
0/150
提交
取消