示例#1
0
    def breakMe(self, debrisNode):
        projDummy = ProjectileArc(self.wantRotate, self.wantColl)
        projDummy.reparentTo(self.prop)
        projDummy.startVel = Vec3(random.uniform(-60, 60),
                                  random.uniform(-60, 60),
                                  random.uniform(30, 100))
        projDummy.gravityMult = 4.0
        projDummy.rotateMin = 30
        projDummy.rotateMax = 200
        debrisParent = self.getDebrisParent()
        if self.wantHidden:
            debrisNode.unstash()

        projDummy.setPos(debrisNode.getPos(self.prop))
        projDummy.setScale(debrisNode.getScale(self.prop))
        debrisNode.reparentTo(projDummy.rotateNode)
        debrisNode.setPos(0, 0, 0)
        debrisNode.setHpr(0, 0, 0)
        projDummy.startPos = projDummy.transNode.getPos(self.prop)
        shatterSeq = Sequence(Func(projDummy.play), Wait(10.0),
                              Func(debrisNode.reparentTo, debrisParent),
                              Func(debrisNode.hide))
        self.intervals.append(shatterSeq)
        shatterSeq.start()
示例#2
0
 def breakMe(self, debrisNode):
     projDummy = ProjectileArc(self.wantRotate, self.wantColl)
     projDummy.reparentTo(self.prop)
     projDummy.startVel = Vec3(random.uniform(-60, 60), random.uniform(-60, 60), random.uniform(30, 100))
     projDummy.gravityMult = 4.0
     projDummy.rotateMin = 30
     projDummy.rotateMax = 200
     debrisParent = self.getDebrisParent()
     if self.wantHidden:
         debrisNode.unstash()
     
     projDummy.setPos(debrisNode.getPos(self.prop))
     projDummy.setScale(debrisNode.getScale(self.prop))
     debrisNode.reparentTo(projDummy.rotateNode)
     debrisNode.setPos(0, 0, 0)
     debrisNode.setHpr(0, 0, 0)
     projDummy.startPos = projDummy.transNode.getPos(self.prop)
     shatterSeq = Sequence(Func(projDummy.play), Wait(10.0), Func(debrisNode.reparentTo, debrisParent), Func(debrisNode.hide))
     self.intervals.append(shatterSeq)
     shatterSeq.start()
示例#3
0
 def breakMe(self, debrisNode):
     projDummy = ProjectileArc(self.wantRotate, self.wantColl)
     projDummy.reparentTo(self.prop)
     projDummy.startVel = Vec3(random.uniform(-10, 10),
                               random.uniform(-10, 10),
                               random.uniform(20, 40))
     projDummy.gravityMult = 2.0
     projDummy.rotateMin = 90
     projDummy.rotateMax = 200
     if self.wantHidden:
         debrisNode.unstash()
     projDummy.transNode.setPos(render, debrisNode.getPos(render))
     projDummy.transNode.setHpr(render, debrisNode.getHpr(render))
     projDummy.transNode.setScale(render, debrisNode.getScale(render))
     projDummy.startPos = projDummy.transNode.getPos(render)
     debrisNode.reparentTo(projDummy.rotateNode)
     debrisNode.setPos(0, 0, 0)
     debrisNode.setHpr(0, 0, 0)
     debrisNode.setScale(1)
     projDummy.startPos = projDummy.transNode.getPos(render)
     debrisParent = self.getDebrisParent()
     projDummy.wrtReparentTo(render)
     shatterSeq = Sequence(Func(projDummy.play))
     self.intervals.append(shatterSeq)
     shatterSeq.start()
示例#4
0
 def breakMe(self, debrisNode):
     projDummy = ProjectileArc(self.wantRotate, self.wantColl)
     projDummy.reparentTo(self.prop)
     projDummy.startVel = Vec3(random.uniform(-10, 10), random.uniform(-10, 10), random.uniform(20, 40))
     projDummy.gravityMult = 2.0
     projDummy.rotateMin = 90
     projDummy.rotateMax = 200
     if self.wantHidden:
         debrisNode.unstash()
     
     projDummy.transNode.setPos(render, debrisNode.getPos(render))
     projDummy.transNode.setHpr(render, debrisNode.getHpr(render))
     projDummy.transNode.setScale(render, debrisNode.getScale(render))
     projDummy.startPos = projDummy.transNode.getPos(render)
     debrisNode.reparentTo(projDummy.rotateNode)
     debrisNode.setPos(0, 0, 0)
     debrisNode.setHpr(0, 0, 0)
     debrisNode.setScale(1)
     projDummy.startPos = projDummy.transNode.getPos(render)
     debrisParent = self.getDebrisParent()
     projDummy.wrtReparentTo(render)
     shatterSeq = Sequence(Func(projDummy.play))
     self.intervals.append(shatterSeq)
     shatterSeq.start()