Panda3D/Manual/Controlar a câmera: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição |
Sem resumo de edição |
||
Linha 12:
Em vez disso, nós vamos escrever uma ''task'' que vai controlar a posição da câmera explicitamente. Uma ''task'' nada mais é do que uma subrotina que é chamada a cada frame. Atualize o seu código:
import direct.directbase.DirectStart
from direct.
#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")
run()▼
▲ run()
A função '''taskMgr.add''' diz ao ''gerenciador de tarefas'' do Panda para chamar a subrotina TarefaGiraCamera a cada frame. Esta é uma subrotina que nós escrevemos para controlar a camera. Enquanto a subrotina retorna a constante '''Task.cont''', o gerenciador de tarefas vai continuar a chamá-la a cada frame.
|