Hola ...

Tengo un objeto que utiliza un sprite con 4 im?genes distintas (distinto color cada una) pero mi idea es que use una de ellas de forma aleatoria al crearse ( para no crear 4 objetos distintos que cumplan la misma funci?n)
?habr? un c?digo para hacer eso?

De antemano GRACIAS !!!  :GM8:
?? world of warcraft !!

No entendi bien. Quieres que en el room haya 4 instancias del mismo objeto pero con una subimage distinta para que se note la diferencia?

Puedes hacerlo de muchas formas:

1) En el evento create seleccionar que subimage quieres.
2) Crear 3 objetos que tengan como Parent al objeto que tiene los codigos.
3)Crear 4 objetos iguales pero que en sus eventos solo tengas scripts (Para no copiar y pegar todo el codigo)
4) Crear 4 sprites distintos y asigarlos en el evento create. (Parecida a la 1)

Ya que si usas la funcion choose o random te pueden salir repetidos.

aver, si es como yo pienso que lo quieres.. podrias agregar a crate:
[gml]//Create
image_index=floor(random(4))
image_speed=0[/gml]
eso haria que cada ves que crearas el objeto, tenga diferente sprite
espero que te sirva ^^u

 el c?digo  de MRafX me sirvi?... muchas gracias por la ayuda!!!  XD
?? world of warcraft !!

Mmmh yo tuve problemas a usar image_index con numeros, yo hubiera usado

[gml]
color=floor(random(4))
if color=0 sprite_index=spr_auto_rojo //cambia los nombres de sprites
if color=1 sprite_index=spr_auto_azul
if color=2 sprite_index=spr_auto_verde
if color=3 sprite_index=spr_auto_amarillo
[/gml]
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Diciembre 07, 2011, 03:56:29 PM
Mmmh yo tuve problemas a usar image_index con numeros, yo hubiera usado

[gml]
color=floor(random(4))
if color=0 sprite_index=spr_auto_rojo //cambia los nombres de sprites
if color=1 sprite_index=spr_auto_azul
if color=2 sprite_index=spr_auto_verde
if color=3 sprite_index=spr_auto_amarillo
[/gml]

image_index cambia la subimage del sprite. sprite_index cambia el sprite del objeto.

En image_index tenes que usar numeros enteros para determinar la subimage que quieres

En sprite_index tenes que usar los nombres de los sprites.

Hacer algo tan simple como esto es tan facil, y aun asi se complican
image_index=irandom(numero de subimages aqui que creo que seria 3 en este caso recuerda que la 1 se cuenta como 0)
seria
image_index=irandom(3)

si lo pones en el create event tambien pon la speed a 0 image_speed=0
si es en el step solo usa el image_index...

Cita de: CrazyGuyGames:) en Diciembre 07, 2011, 06:48:10 PM
Hacer algo tan simple como esto es tan facil, y aun asi se complican
image_index=irandom(numero de subimages aqui que creo que seria 3 en este caso recuerda que la 1 se cuenta como 0)
seria
image_index=irandom(3)

si lo pones en el create event tambien pon la speed a 0 image_speed=0
si es en el step solo usa el image_index...


Es tan simple si quieres que quede mal. En usar irandom tienes razon, para saltearle el flood.
Pero con todos estos metodos la subimage se va a repetir a menos que tengas muchisima suerte. Y si quiere crear 4 instancias del mismo objeto pero cambiandole el sprite me imagino que es para diferenciarlas, y si son iguales no hay diferencia.