Error de propiedad en Python

Preguntas y respuestas relacionadas con el desarrollo de videojuegos y aplicaciones 3D interactivas, usando Blender Game Engine.
Responder
AdrianBlender
Mensajes: 9
Registrado: Mié Oct 17, 2018 11:39 am
Nombre: AdrianBlender

Error de propiedad en Python

Mensaje por AdrianBlender » Sab Ene 19, 2019 12:17 pm

Buenas Tardes, actualmente estoy realizando un programa que simule de forma lógica la combinación de n numero de cubos, si la conexión es correcta , va a a declarar que esta bien , de lo contrario saldrá error. Para la secuencia lógica de los cubos, yo le di una propiedad de tipo entero a cada cubo (En esta prueba son tres cubos) Al cubo azul se le asigno 1, al cubo rojo 2 y al cubo verde 3. En el momento de escribir la sentencia para llamar a cada una de la propiedades y realizar la lógica.

Código Python

import bge
controller = bge.logic.getCurrentController()
own= controller.owner
sensors = own.sensors
propiedad = own["Azul"]
propiedad2 = own["Rojo"]<< ERROR>>
speed = 0.2

if sensors ["W"].positive:
own.applyMovement([0,speed,0])
if sensors ["A"].positive:
own.applyMovement([-speed,0,0])
if sensors ["S"].positive:
own.applyMovement([0,-speed,0])
if sensors ["D"].positive:
own.applyMovement([speed,0,0])

if sensors ["Logica"].positive and propiedad == 1 :
print ("Error")
if sensors ["Logica2"].positive and propiedad == 1 :
print ("Bien")

Error adjunto
Adjuntos
Error Python.PNG
Error Python
(5.31 KiB) No descargado aún

D4rB
Mensajes: 1045
Registrado: Mar Nov 16, 2010 12:46 pm
Nombre: .
Ubicación: México
Contactar:

Re: Error de propiedad en Python

Mensaje por D4rB » Lun Ene 21, 2019 10:09 am

Si Azul no te está dando problemas revisa que realmente tengas la propiedad Rojo, principalmente revisa que está bien escrita y revisa mayúsculas, no siempre 'Rojo' == 'rojo'.

No he usado esas funciones, pero según la documentación (https://docs.blender.org/api/blender_py ... logic.html) los sensores por nombre los sacarías directamente de controller.sensors['sensorName'], no de owner.
Revisa ejemplos de implementación de eso para que tengas una mejor referencia.

Responder