Panda3D/Manual/Usar intervals para mover o Panda: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Criou nova página com 'O próximo passo é fazer o panda realmente mover-se para frente e para trás. Atualize o seu código com as linhas seguintes: <source lang=python> import direct.directbase...'
 
Sem resumo de edição
Linha 1:
O próximo passo é fazer o panda realmente mover-se para frente e para trás. Atualize o seu código com as linhas seguintes:
 
<pre>
<source lang=python>
import direct.directbase.DirectStart
from pandac.PandaModules import *
 
from direct.task import Task
from direct.actor import Actor
from direct.interval.IntervalGlobal import *
import math
 
#Carrega nosso primeiro modelo
ambiente = loader.loadModel("models/environment")
ambiente.reparentTo(render)
ambiente.setScale(0.25, 0.25, 0.25)
ambiente.setPos(-8,42,0)
#Tarefa para mover a camera
def TarefaGiraCamera(task):
anguloGraus = task.time * 6.0
anguloRadianos = anguloGraus * (math.pi / 180.0)
base.camera.setPos(20*math.sin(anguloRadianos), -20.0*math.cos(anguloRadianos),3)
base.camera.setHpr(anguloGraus, 0, 0)
return Task.cont
taskMgr.add(TarefaGiraCamera, "GiraCamera")
 
#Carrega o panda Actor, e faz um loop na animação
pandaActor = Actor.Actor("models/panda-model", {"andar":"models/panda-walk4"})
pandaActor.setScale(0.005, 0.005, 0.005)
pandaActor.reparentTo(render)
pandaAcotr.loop{"andar"}
#Cria os quatro Lerp Interval para mover o panda para a frente e para trás
pandaPosInterval1= pandaActor.posInterval(13,Point3(0,-10,0), startPos=Point3(0,10,0))
pandaPosInterval2= pandaActor.posInterval(13,Point3(0,10,0), startPos=Point3(0,-10,0))
pandaHprInterval1= pandaActor.hprInterval(3,Point3(180,0,0), startHpr=Point3(0,0,0))
pandaHprInterval2= pandaActor.hprInterval(3,Point3(0,0,0), startHpr=Point3(180,0,0))
 
#Cria e inicia a sequência de Intervals
pandaPasso = Sequence(pandaPosInterval1, pandaHprInterval1,
pandaPosInterval2, pandaHprInterval2, name = "PassoDePanda")
 
pandaPasso.loop()
 
run()
</sourcepre>