Hola a todos , espero su ayuda.
tengo instancias de un objeto en la room, este objeto tiene un sprite con 2 imagenes.
quiero que solo una de instancia tenga la segunda imagen, y las demas la primera imagen del sprite.
Espero su ayuda, sino me entienden mucho diganme lo explico mejor.
Saludos.
podrías hacerlo con una variable global, declaras la global en el create de otro objeto que se cree antes que el que nos interesa, y en el evento create de este ultimo verificas como esta la variable global, seria algo asi:
[create de cualquier otro objeto que se cree antes]
global.spr_inst=0;
[create del objeto de interes]
if (global.spr_inst)
{
sprite_index= 0;
global.spr_inst=1;
}
else
{
sprite_index=1;
}
Hola gracias por Responder, YO ME REFERIA A QUE
UN OBJETO QUE TIENE VARIAS INSTANCIAS EN UNA ROOM
yo quiero que solo una de las instancias tenga la image_index = 0 y las demas instancias la image_index = 1.
¿Cómo creas las instancias? ¿Mediante el editor de habitación o mediante código? ¿Puedes dar más detalles de qué pretendes hacer con las instancias o cómo esperas que se comporten?
aahhhhh yo pensaba que era solo con 2 instancias, maldita comprensión lectora jajaja, lo siento mmmm se me ocurre en el evento create poner algo así, aunque no estoy totalmente seguro de que funcione xD:
se le asigna la imagen 0 a la primera instancia, y las demás tendrían la imagen 1, asumiendo que esta bien
[create]
if (instance_number(mismoobjeto)==1)
{
image_index=0;
}
else
{
image_index=1;
}
Cita de: ordo_ab_chao en Febrero 26, 2014, 02:48:12 AM
aahhhhh yo pensaba que era solo con 2 instancias, maldita comprensión lectora jajaja, lo siento mmmm se me ocurre en el evento create poner algo así, aunque no estoy totalmente seguro de que funcione xD:
se le asigna la imagen 0 a la primera instancia, y las demás tendrían la imagen 1, asumiendo que esta bien
[create]
if (instance_number(mismoobjeto)==1)
{
image_index=0;
}
else
{
image_index=1;
}
Gracias por tu respuesta pero no funciona
Me explico mejor tengo 1 objeto "tuberia" el cual tiene un sprite con dos imagenes.
hasta hay todo bien creo yo.
Lo que yo quiero es que al yo poner imagenes en la room (manualmente e el editor) seleccione que imagen poner para la instancia que yo desee
Al igual que en el room editor a la hora de agregar instancia se puede cambiar su escala o el angulo, quisiera saber como cambiar la imagen (image_index) de una o varias instancia del objeto, espero su ayuda, o diganme como puedo buscarn en googlo, como que busco ?
Cita de: Nikholas9 en Febrero 26, 2014, 03:58:00 AM
Cita de: ordo_ab_chao en Febrero 26, 2014, 02:48:12 AM
aahhhhh yo pensaba que era solo con 2 instancias, maldita comprensión lectora jajaja, lo siento mmmm se me ocurre en el evento create poner algo así, aunque no estoy totalmente seguro de que funcione xD:
se le asigna la imagen 0 a la primera instancia, y las demás tendrían la imagen 1, asumiendo que esta bien
[create]
if (instance_number(mismoobjeto)==1)
{
image_index=0;
}
else
{
image_index=1;
}
Gracias por tu respuesta pero no funciona
Me explico mejor tengo 1 objeto "tuberia" el cual tiene un sprite con dos imagenes.
hasta hay todo bien creo yo.
Lo que yo quiero es que al yo poner imagenes en la room (manualmente e el editor) seleccione que imagen poner para la instancia que yo desee
Al igual que en el room editor a la hora de agregar instancia se puede cambiar su escala o el angulo, quisiera saber como cambiar la imagen (image_index) de una o varias instancia del objeto, espero su ayuda, o diganme como puedo buscarn en googlo, como que busco ?
eso no se puede hacer desde el editor de habitaciones por que aunque no lo creas edita la habitacion y su aspecto, si dices que son solo 2 imagenes crea 2 objetos separados es mas facil...
Claro se que no esta como una opcion , solo que este objeto ya tiene un gran ccodigo dentro, por ello quiero que unas instancias de este objeto tengan una imagen y las demas instancias otra imagen.
puedes hacer un objeto con el mismo código declarando lo como parent, mmm no me explique muy bien, en el manual esta mejor explicado, echale un ojo! y dinos que tal te fue
http://www.comunidadgm.org/manual_GM/Mas_sobre_los_objetos.htm (http://www.comunidadgm.org/manual_GM/Mas_sobre_los_objetos.htm)
Pues de manera manual en la interfaz de GM no se puede. Las propiedades del objeto no admiten más de un sprite, pero mediante código sí se puede.
Nombre: instance_create_sprite(). Asigna un sprite específico a una instancia
/*
argument0 = La posición x de la instancia (al momento de crearla)
argument1 = La posición y de la instancia (al momento de crearla)
argument2 = El objeto a instanciar.
argument3 = El sprite que se desea asignar a la instancia.
*/
var spr, xx, yy, mi_id
xx = argument0; yy = argument1; spr = argument3
mi_id = instance_create(xx, yy, argument2)
mi_id.sprite_index = spr
return mi_id
Para usar el script sería algo así
instancia_a = instance_create_sprite(100, 100, obj_tuberia, spr_tubo_verde)
instancia_b = instance_create_sprite(200, 200, obj_tuberia, spr_tubo_rojo)
[/code]
La idea es esa
En realidad hay una manera de hacerlo desde el editor de habitación, si es que no quieres crear las instancias en tiempo de ejecución, pero no es tan bonito como seleccionar una imagen de un menú, lo que se haría es
1. Colocar en la habitación todas las instancias mediante el editor de habitaciones
2. En cada instancia, hacer click derecho sobre ella.
3. Elegir la opción "creation code"
4. Se abre una ventanda para escribir código. Ahí cambiarías el sprite_index como tú quieras
El "evento" (no es un evento propiamente) instance creation code es una característica poco popular, desconocida o menospreciada en GM, pero resulta muy útil en ocasiones.
GRACIAS POR RESPONDER A LOS DOS AHORITA LOS PRUEBO Y LES CUENTO QUE TAL ME FUE :D graciasssss se pasaron
Gracias a Ordo_ab_chao y a penumbra por responder me funciono, bueno se acopla mas a mi neceisdad lo de la CREAtION CODE GRACIAS [SOLUCIONADO]