为了账号安全,请及时绑定邮箱和手机立即绑定

如何以我的坦克面对的同一方向射击?

如何以我的坦克面对的同一方向射击?

慕码人8056858 2021-08-14 17:17:53
我想朝坦克面对的方向发射子弹。我使用加速度计来控制我的坦克的角度。当我倾斜我的设备时,我希望我的坦克朝着它所面对的方向射击。使用我当前的脚本,它只能垂直拍摄。 为了重复这个问题,我不能缩小我的代码比这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 来移动子弹
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 257 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号