Problema con un tuto de Panda3d

Iniciado por JacKThERiPPeR, Abril 13, 2007, 02:33:51 PM

Tema anterior - Siguiente tema

JacKThERiPPeR

No sé si sabréis solucionar algo de Python orientado a videojuegos como es el Panda3d, pero tengo este trozo de código:
import direct.directbase.DirectStart
from direct.task import Task
from direct.actor import Actor
from direct.showbase import base
import math

#Carguemos algo
environ = loader.loadModel("models/environment")
environ.reparentTo(render)
environ.setScale(0.25,0.25,0.25)
environ.setPos(-8,42,0)

#Controlemos la cámara
def SpinCameraTask(task):
   angledegrees = task.time * 6.0
   angleradians = angledegrees * (math.pi / 180.0)
   base.Camera.SetPos(20*math.sin(angleradians),-20.0*math.cos(angleradians),3)
   base.Camera.SetHPR(angledegrees, 0, 0)
   return task.cont

taskMgr.add(SpinCameraTask, "SpinCameraTask")

#Ahora a ejecutarlo
run()


Y resulta que me sale:
"AttributeError: ShowBase instance has no attribute 'Camera'".

¿Alguien sabría decirme que pasa en el código?

www.jtrlimbo.tk3.net
Hail the Visigoths!

[DoodoM]

Prueba a poner from direct.showbase import camera en la parte de arriba.

Aunque a lo mejor también hay que definir la propiedad camera más abajo.

Que conste que no sé de Python, que es lo que me dice mi intuición.
Always look at the bright side of doom.

Karnizero

Cita de: "JacKThERiPPeR"No sé si sabréis solucionar algo de Python orientado a videojuegos como es el Panda3d, pero tengo este trozo de código:
import direct.directbase.DirectStart
from direct.task import Task
from direct.actor import Actor
from direct.showbase import base
import math

#Carguemos algo
environ = loader.loadModel("models/environment")
environ.reparentTo(render)
environ.setScale(0.25,0.25,0.25)
environ.setPos(-8,42,0)

#Controlemos la cámara
def SpinCameraTask(task):
   angledegrees = task.time * 6.0
   angleradians = angledegrees * (math.pi / 180.0)
   base.Camera.SetPos(20*math.sin(angleradians),-20.0*math.cos(angleradians),3)
   base.Camera.SetHPR(angledegrees, 0, 0)
   return task.cont

taskMgr.add(SpinCameraTask, "SpinCameraTask")

#Ahora a ejecutarlo
run()


Y resulta que me sale:
"AttributeError: ShowBase instance has no attribute 'Camera'".

¿Alguien sabría decirme que pasa en el código?

Pues el mismo error te lo está diciendo: tienes una instancia del objeto "ShowBase", pero a éste le falta el atributo (variable/constante) "Camera".
Mira en la definición de "ShowBase" la existencia de dicho atributo.

JacKThERiPPeR

En ShowBase (según la página de Panda3d) no existe nada como "Camera", a lo mejor si encuentro dicho atributo...

www.jtrlimbo.tk3.net
Hail the Visigoths!

Karnizero

Cita de: "JacKThERiPPeR"En ShowBase (según la página de Panda3d) no existe nada como "Camera", a lo mejor si encuentro dicho atributo...

Pues si ShowBase no tiene (ni tendrá) dicho atributo, entonces es por que estás haciendo referencia a dicho atributo en algún lado, cuando no tendrías que hacerlo.

JacKThERiPPeR

He descubierto que lenguajes como este eran sensibles a las mayusculas-minusculas. Por ello tuve que cambiar a minusculas algunas letrillas y ¡voilá! Funciona a la maravilla.

En cuanto a ShowBase, si existe por ahí en Panda3d.

www.jtrlimbo.tk3.net
Hail the Visigoths!

tmaniak

Cita de: "JacKThERiPPeR"He descubierto que lenguajes como este eran sensibles a las mayusculas-minusculas. Por ello tuve que cambiar a minusculas algunas letrillas y ¡voilá! Funciona a la maravilla.

En cuanto a ShowBase, si existe por ahí en Panda3d.

Que haya diferenciación entre mayúsculas y minúsculas en el código del programa no depende del lenguaje, depende del compilador.

[url=http://www.a

JacKThERiPPeR

Cita de: "tmaniak"
Cita de: "JacKThERiPPeR"He descubierto que lenguajes como este eran sensibles a las mayusculas-minusculas. Por ello tuve que cambiar a minusculas algunas letrillas y ¡voilá! Funciona a la maravilla.

En cuanto a ShowBase, si existe por ahí en Panda3d.

Que haya diferenciación entre mayúsculas y minúsculas en el código del programa no depende del lenguaje, depende del compilador.

Bueno, sí, a lo mejor será del compilador.

www.jtrlimbo.tk3.net
Hail the Visigoths!