Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: spreos22 en Noviembre 30, 2010, 05:20:39 PM

Título: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: spreos22 en Noviembre 30, 2010, 05:20:39 PM
Bueno, me estaba preguntando si es posible por ejemplo, comprobar si la coordenada x de cualquier instancia del tipo obj_pelota reune ciertas condiciones, hacer tal cosa. Lo que he hecho es:

[gml]if (obj_pelota.x = 32){obj_player.x = 50;}[/gml]

Pero as? me detecta solamente la primera instancia de obj_pelota que haya colocado en la room, y no es esto lo que quiero, quiero que se comprueben todas.
Alguien lo sabe?

Saludos
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: Genesis en Noviembre 30, 2010, 05:22:15 PM
si se puede, pero como el objeto tiene un punto de origen, ese a ser la posicion x que se esta buscando, por lo que es muy dificil encontrar esa posicion, asi que el codigo deber?a ser usado de otra forma, intentar? como hacerlo y te lo pasar?.
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: spreos22 en Noviembre 30, 2010, 07:12:41 PM
He tenido una idea pero no termina de funcionar, alguien puede ayudarme?
[gml] for(i=1;i<argument0.instance_count;i+=1){
   if((Cursor.x = argument0.instance_id.x)&&(Cursor.y = argument0.instance_id.y)){return true;}
[/gml]

El resultado del codigo es algo diferente de lo que preguntaba en un principio, aqui estoy calculando si la posicion x y la y del objeto Cursor y de argument0 (que tendr? que ser un objeto cualquiera cuando llame el script) son la misma, y si lo son que el script devuelva el valor true, el problema es que este script siempre devuelve true, y no entiendo porque :S
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: LigTopet en Noviembre 30, 2010, 08:28:52 PM
Puede ser:
[gml]
var i, inst;
for(i=0;i!=-1;i+=1)
    {
    inst=instance_find(objeto,i)
    if(inst!=noone)
        with(inst)
            {
            if(condicion))
                {
                acciones
                }
            }
    else
        exit

    }[/gml]
Ahi esta, objeto, condicion y accion.

Saludos
8)  8)  8)

PD: pero tambien depende de lo que quieras hacer exactamente.
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: brunoxzx en Noviembre 30, 2010, 08:37:15 PM
yo lo har?a as?.
[gml]
for(i=0;i<instance_number(argument0);i+=1){
  if((Cursor.x = instance_find(argument0,i).x)&&(Cursor.y = instance_find(argument0,i).y)){return true;} else{return false}}[/gml]
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: LigTopet en Noviembre 30, 2010, 08:47:36 PM
Cierto el script de brunoxzx hace lo segundo que mencionaste, el mio hace lo que pedias en un principio XD.

Saludos
8)  8)  8)
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: spreos22 en Noviembre 30, 2010, 10:28:32 PM
Muchas gracias a los dos, ya veo donde fallaba ^^
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: hernis en Diciembre 06, 2010, 08:54:36 PM
o podrias hacer esto...
[gml]with (nombre_objeto)
{
    //aqui el codigo
    if (x=32)
    {
        x=50;
    };
};[/gml]
Título: Re: Referirse a todas las instancias de un tipo y a una en concreto
Publicado por: spreos22 en Diciembre 06, 2010, 10:29:47 PM
Cita de: hernis en Diciembre 06, 2010, 08:54:36 PM
o podrias hacer esto...
[gml]with (nombre_objeto)
{
    //aqui el codigo
    if (x=32)
    {
        x=50;
    };
};[/gml]
Gracias, lo descubr? hace unos d?as esto tambi?n, pero bueno, as? lo vera todo el mundo