hola, alguna idea de como hacer para seleccionar solo la mitad de las instancias de un objeto?
hay varias formas, si con seleccionar te refieres meter sus Ids en un array, se podr?a hacer asi:
[gml]
//argument0 id del objeto.
//return c: tama?o del array.
// almacena la mitad de los Ids en el array[c]
var a,c; a=0; c=0;
for(i=0;i<=instance_number(argument0);i+=1;)
{
a=!a;
if a { array[c]=instance_find(argument0,i+1); c+=1;}
}
return c;
[/gml]
no lo prob?, pero deber?a de funcionar...
Seleccionar? no entiendo a que te refieres con eso.
Si a lo que te refieres es a que quieres aplicar un c?digo a la mitad de las instancias de un objeto, lo ?nico que debes de hacer es esto.
[GML]for(i=0;i<(instance_number(objeto) div 2);i+=1){
with(instance_find(objeto,i)){
//c?digo
}
}[/GML]
Edit:al parecer escribieron antes que yo
perdon brunoxzx,
pero el codigo no creo que funcione, estar?as haciendo si es menor a 0 o 1 en caso de que sea par o impar...
en su lugar creo que ser?a (aparte hay una coma en lugar de un punto y coma...
[gml]
for(i=0;i<floor(instance_numbert(objeto)/2);i+=1;){
//c?digo
}
[/gml]
Yo lo har?a as?:
[gml]ids = 0;
n = floor(instance_number(objeto) / 2);
var i = 0;
with (objeto) {
if (i < other.n) {
other.ids = id;
i += 1;
}
}[/gml]
"ids" es un array de tama?o "n" que contiene los ID de la mitad de las instancias de "objeto".
Podr?as probar esto, tambi?n:
[gml]ids = 0;
n = floor(instance_number(objeto) / 2);
var i = 0;
with (objeto) {
other.ids = id;
i += 1;
if (i == other.n) {
break;
}
}[/gml]
T?cnicamente un with es un loop, pero no s? si el break funciona en un with. Si funciona, el c?digo ser?a m?s o menos el doble de r?pido.
@ciberman: Con forme a lo de que me faltaba el punto y coma, fue por que tenia mucha prisa en ese momento, de echo ni siquiera alcance a leer lo que escribiste, de cualquier modo ya correg? eso y otro peque?o error y sobre todo lo dem?s que dijiste la verdad no lo entend? muy bien XD.
Gracias a todos por la respuesta, olvide aclarar que no deseaba utilizar arreglos ya son muchas las instancias que plano utilizar, y que deseo poder hacer grupos de grupos pero me dieron ideas de como lograrlo, solo tengo que modificar un poco, muchas gracias :D.
perdon pero la intriga me carcome, a que te refieres con grupos de grupos??
Claro, me refiero a que una vez que las instancias se separaran por la mitad, una de las mitades pueda ser dividida en una mitad de nuevo y de nuevo, es decir hacer grupos que a su vez se dividan en grupos. XD