jueves, 15 de octubre de 2009

Movimiento con Python

Por ultimo un ejemplo de movimiento con python
un rectangulo se mueve y rota en el plano, y termina el juego cuando choca

he aqui el codigo del script

cont = GameLogic.getCurrentController()
forward = cont.sensors['up']
backward = cont.sensors['down']
left = cont.sensors['left']
right = cont.sensors['right']
move = cont.actuators['move']
movespeed = [0, 0, 0]
turnspeed = [0, 0, 0]
if forward.positive: movespeed[1] = 0.2
elif backward.positive: movespeed[1] = -0.2
elif left.positive: turnspeed[2] = 0.2
elif right.positive: turnspeed[2] = -0.2
move.useLocalDLoc = True
move.dLoc = movespeed
move.useLocalDRot = True
move.dRot = turnspeed
cont.activate(move)

Comentarios
Los sensores se ubican en un arreglo del controlador del objeto y se sacan simplemente poniendo su nombre, el controlador a usar se pasa a un objeto llamado cont, como ejercicio pudieran
mandar a imprimir todos los sensores del controlador poniendo print cont.sensors

movespeed no es realmente velocidad, es la cantidad de desplazamiento en algun eje
movespeed no es una funcion especial ni nada es un arreglo simple de tres miembros (el arreglo de ejes x,y, z) igual al utilizado por una de las propiedades del actuator (o actuador), se llena el arreglo y se iguala al de la propiedad del actuador, el actuador se activa hasta el final

python utiliza la sangria no es un adorno como en otros lenguajes asi que tener cuidado de no tabular correctamente

y he aqui el link
http://rapidshare.com/files/293630635/python_movimiento.blend

No hay comentarios:

Publicar un comentario