como poner un color aleatorio cada ves q aparesca un objeto
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
como poner un color aleatorio cada ves q aparesca un objeto
buenas a todos soy nuevo por estos lados.
quisiera saber como hacer un script en python para q un objeto cambie de color cada ves q aparece en la ecena principal y cuando se sumen 4 objetos de igual color desaparescan.
muchas gracias de antemano
quisiera saber como hacer un script en python para q un objeto cambie de color cada ves q aparece en la ecena principal y cuando se sumen 4 objetos de igual color desaparescan.
muchas gracias de antemano
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
bueno despues de tanta busqueda lo mas q e logrado es esto si alguien lo puede arreglar seria de mucha ayuda aca dejo el codigo.
import bge
import random
color1 = [0,1]
def main():
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [random.choice(color1),random.choice(color1),random.choice(color1), True]
main()
import bge
import random
color1 = [0,1]
def main():
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [random.choice(color1),random.choice(color1),random.choice(color1), True]
main()
Re: como poner un color aleatorio cada ves q aparesca un obj
Buenas, lo único que hay mal puesto en ese código es la indentación.
Sería así:
import bge
import random
color1 = [0,1]
def main():
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [random.choice(color1), random.choice(color1), random.choice(color1), True]
main()
Lo he probado y funciona bien, solo que para Blender, un pulso positivo de un sensor en realidad son dos pulsos, uno al pulsar y otro al soltar la tecla.Según que sensor vayas a utilizar tendrás que ponerlo en modo Tap (Toque).Verás que si no es así el objeto cambiará de color 2 veces y se quedará con el último.
Un saludo
Sería así:
import bge
import random
color1 = [0,1]
def main():
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [random.choice(color1), random.choice(color1), random.choice(color1), True]
main()
Lo he probado y funciona bien, solo que para Blender, un pulso positivo de un sensor en realidad son dos pulsos, uno al pulsar y otro al soltar la tecla.Según que sensor vayas a utilizar tendrás que ponerlo en modo Tap (Toque).Verás que si no es así el objeto cambiará de color 2 veces y se quedará con el último.
Un saludo
Re: como poner un color aleatorio cada ves q aparesca un obj
He puesto el codigo indentado y al publicar la respuesta en el foro me he dado cuenta de que lo ha puesto como tu lo tienes, ya no se si tu lo tienes bien y al publicarlo en el foro sale todo el código pegado a la izquierda que estaría mal.
¿ No te funciona este código?
¿ No te funciona este código?
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
ya lo solucione el script esta bien el problema era al poner el sensor pues le ponia un always en modo pulso(los 3 punticos) despues de varias pruebas termine haciendo este codigo por si alguien lo necesita.
import bge
import random
color = random.randint(0,3)
def main():
cont = bge.logic.getCurrentController()
own = cont.owner
if color == 0:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [1,0,0,True]#rojo
else:
if color == 1:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [0,1,0,True]#verde
else:
if color == 2:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [0,0,1,True]#azul
else:
if color == 3:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [1,1,0,True]#amarillo
main()
import bge
import random
color = random.randint(0,3)
def main():
cont = bge.logic.getCurrentController()
own = cont.owner
if color == 0:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [1,0,0,True]#rojo
else:
if color == 1:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [0,1,0,True]#verde
else:
if color == 2:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [0,0,1,True]#azul
else:
if color == 3:
cont = bge.logic.getCurrentController()
own = cont.owner
own.color = [1,1,0,True]#amarillo
main()
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
ojo con la indentacion XD
Re: como poner un color aleatorio cada ves q aparesca un obj
Está bien..,pero podrias simplificar el código un poco mas y quitar la función
porque entiendo que el script se lo pones a cada objeto es decir no trabajas con el controlador python en modo MODULE ¿ verdad?¿o no es así?Por cierto ¿ como harás para que se eliminen cuando el color se repita 4 veces?
Saludos.
import bge
import random
cont = bge.logic.getCurrentController()
own = cont.owner
color = random.randint(0,3)
if color == 0:
own.color = [1,0,0,True]#rojo
if color == 1:
own.color = [0,1,0,True]#verde
if color == 2:
own.color = [0,0,1,True]#azul
else:
o.color = [1,1,0,1]
porque entiendo que el script se lo pones a cada objeto es decir no trabajas con el controlador python en modo MODULE ¿ verdad?¿o no es así?Por cierto ¿ como harás para que se eliminen cuando el color se repita 4 veces?
Saludos.
import bge
import random
cont = bge.logic.getCurrentController()
own = cont.owner
color = random.randint(0,3)
if color == 0:
own.color = [1,0,0,True]#rojo
if color == 1:
own.color = [0,1,0,True]#verde
if color == 2:
own.color = [0,0,1,True]#azul
else:
o.color = [1,1,0,1]
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
no tengo ni idea de comohacer q desapescan pero segun e visto, hay forma de detectar las collisiones.
seria q sumara por ejemplo el rojo [1,0,0,True] y cuando llegue a [4,0,0,True] poner un endObject
y se sume al puntaje XD haro el lio es hacerlo.
seria q sumara por ejemplo el rojo [1,0,0,True] y cuando llegue a [4,0,0,True] poner un endObject
y se sume al puntaje XD haro el lio es hacerlo.
Re: como poner un color aleatorio cada ves q aparesca un obj
Gracias por responder, la verdad es que pensé que sería fácil hacer que desaparecieran pero me está resultando muy dificil y no doy con la tecla.
Seguiré intentándolo a la vez que aprendiendo.Si tengo algún avance te lo comentaré por aquí y si a ti no te importa comenta los tuyos, se agradece.
Seguiré intentándolo a la vez que aprendiendo.Si tengo algún avance te lo comentaré por aquí y si a ti no te importa comenta los tuyos, se agradece.
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
claro q si laidea es compartir conocimientos y ayudar.
quisiera saber q juego estas haciendo asi poder ayudar.
yo estoy haciencoalgo asi comoel doctor mario de nes XD pero es muy complicado e vistomas
informacion para hacer juegos en primera persona.
quisiera saber q juego estas haciendo asi poder ayudar.
yo estoy haciencoalgo asi comoel doctor mario de nes XD pero es muy complicado e vistomas
informacion para hacer juegos en primera persona.
Re: como poner un color aleatorio cada ves q aparesca un obj
Soy un aficionado, no me dedico a esto, esto es un hobbie.Estoy intentando hacer un juego para niños pequeños pero por afición y aprender python y blender que me fascina.He de decirte que no conozco prácticamente ningún juego, no suelo jugar, ahora programar es otra cosa.
En el foro (foro3d.com) estoy publicando el jueguecillo este que te comento.
http://www.foro3d.com/f37/jueguecillo-126142.html
Ahí le puedes hechar un vistazo.Ahora lo tengo un poco dejado porque estoy estudiando para presentarme a unas pruebas que me permitirían estudiar un grado superior de FP a distancia, y son en Mayo.
Me pica el cuerpo porque no puedo dedicar tiempo a Blender, pero bueno vi tu consulta y me picó mucho.Mis ratitos de relax ahora con los estudios estos es hechar un vistazo a los foros y si puedo ayudar... o en este caso aprender, si conseguimos que desaparezcan los objetos.
Un saludo.
En el foro (foro3d.com) estoy publicando el jueguecillo este que te comento.
http://www.foro3d.com/f37/jueguecillo-126142.html
Ahí le puedes hechar un vistazo.Ahora lo tengo un poco dejado porque estoy estudiando para presentarme a unas pruebas que me permitirían estudiar un grado superior de FP a distancia, y son en Mayo.
Me pica el cuerpo porque no puedo dedicar tiempo a Blender, pero bueno vi tu consulta y me picó mucho.Mis ratitos de relax ahora con los estudios estos es hechar un vistazo a los foros y si puedo ayudar... o en este caso aprender, si conseguimos que desaparezcan los objetos.
Un saludo.
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
se ve muy bien aunque puedes buscar el sistema de particulas para mejorarlo aun mas estare atento para ver el progreso
Re: como poner un color aleatorio cada ves q aparesca un obj
Gracias por el comentario, pensé hacer este juego para mis sobrinos y como siga así creo que será para los suyos jeje..
Mira este Blend a ver que te parece, si es lo que intentas hacer mas o menos, si es mas o menos esto, quizá lo tenga un poco dominado. Creo que las colisiones habrá que detectarlas con radar o cercania. A ver que piensas.
Saludos.
Mira este Blend a ver que te parece, si es lo que intentas hacer mas o menos, si es mas o menos esto, quizá lo tenga un poco dominado. Creo que las colisiones habrá que detectarlas con radar o cercania. A ver que piensas.
Saludos.
- Adjuntos
-
[La extensión blend ha sido desactivada y no se mostrará en adelante]
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda
Re: como poner un color aleatorio cada ves q aparesca un obj
si es algo asi lo q estoy haciendo el problema es q al poner un script para q se mueba mas lento como las piezas del tetris no se como hacer la collicion voy a poner el blen aca para q le eches un ojo depronto puedes hacerle algo
- Adjuntos
-
[La extensión blend ha sido desactivada y no se mostrará en adelante]
-
- Mensajes: 11
- Registrado: Dom Feb 28, 2016 6:44 pm
- Nombre: andres rueda