Necesito esto, por ejemplo, yo indico que la animacion del personaje ser? spr10,spr16,spr14 y spr6, y los sprites mostrados en la animacion ser?n esos.
Y porfavor, si me van a pasar un script, que porfavor tenga alguna opcion de velocidad de animacion, ya que eso es lo que m?s me complico al intentar hacer esto por mi mismo :-[
SI lo entendi bien, simplemente en lugar de tener cien sprites para la animacion, los juntas todos en un mismo sprite y yasta, no tiene complicacion... los sprites pueden tener varias subimagenes de la animacion
asegurando que no modoficaste image_speed=0 ni nada asi, aunque no se si es eso lo que querias decir
eso lo se perfectamente. es que estoy creando un sistema de animacion mas complicado y lo que quiero hacer es que atravez de algun script, se?alar cuales son las imagenes que van a ser usadas en la animacion del sprite
Hola, yo uso mucho eso en mi juego de lucha por que todas las imagenes las tengo en un solo sprite... Algo que puedes usar que es parecido a lo que yo uso es por ejemplo si tienes una variable que contenga la accion en curso accion=saltar, accion=caminar, etc. y otra variable para la imagen en particular subimagen=0,1,2...,n y pues se me ocurre algo facil con 2 switch anidados en un evento como alarma
switch(accion){caso caminar, saltar,... switch(subimagen){caso 1 o 2,3...}} Saludos...
Bueno esto costo... xD
hice dos scripts, en ellos podras ver sus especificaciones.el primero esta limitado a 15 sprites y el segundo es ilimitado pero un poco mas lenta tambien dependiendo de si tenes muchos sprites en el juego. los dos scripts pueden reproducir sprites animados.
cualqueir usuario puede editarlo para su mejor funcionamiento(optimizacion) y exponerlo.
//scr_sprites(velocidad,sprite0,....sprite14);
//1? argumento: colocar la velocidad de reproduccion de los sprites(1 equivale a la reproduccion normal de los sprites).
//2? al 16? argumento podes poner los sprites q quieras opcionalmente pero por lo menos 1 es obligatorio.
image_speed=argument0;
if!(variable_local_exists('n')){
long=0;
//opcionalemte agregamos los sprites.
c[0]=argument1;long+=1;
if(argument2){c[1]=argument2;long+=1;}
if(argument3){c[2]=argument3;long+=1;}
if(argument4){c[3]=argument4;long+=1;}
if(argument5){c[4]=argument5;long+=1;}
if(argument6){c[5]=argument6;long+=1;}
if(argument7){c[6]=argument7;long+=1;}
if(argument8){c[7]=argument8;long+=1;}
if(argument9){c[8]=argument9;long+=1;}
if(argument10){c[9]=argument10;long+=1;}
if(argument11){c[10]=argument11;long+=1;}
if(argument12){c[11]=argument12;long+=1;}
if(argument13){c[12]=argument13;long+=1;}
if(argument14){c[13]=argument14;long+=1;}
if(argument15){c[14]=argument15;long+=1;}
n=0;
}
//reproduccion de todos los sprites.
if(n<long)and(image_index=image_number-1){
sprite_index=c[n];n+=1;
if(n=long){n=0;}
}
//scr_sprites(sprites,velocidad);
//1? argumento: colocar entre comillas los nombres de los sprites separados por coma(,) sin espacios.
//2? argumento(opcional): colocar la velocidad de reproduccion de los sprites(por defecto es 30).
if!(variable_local_exists('n')){
c[0]=0;//creo un array para el registro de sprites
str=argument0;//guardo el string con los sprites para su utilizacion y modificacion en los for.
//procedimiento para obtener los sprites del string.
for(i=0;i<(string_count(',',argument0)+1);i+=1)
{if!(i=(string_count(',',argument0)))
{c[i]=string_copy(str,0,string_pos(',',str)-1);
str=string_delete(str,1,string_pos(',',str));}
else{c[i]=string_copy(str,0,string_length(str));}
}
//comparacion con los sprites existentes por que no es posible sacar los indices del string(argument0)
for(ind=0;sprite_exists(ind);ind+=1)
{
for(j=0;j<(string_count(',',argument0)+1);j+=1)
{if(sprite_get_name(ind)=string(c[j])){c[j]=ind;}}
}
n=0;
}
//reproduccion de todos los sprites.
if(argument1){image_speed=argument1;}
if(n<(string_count(',',argument0)+1))and(image_index=image_number-1){
sprite_index=c[n];n+=1;
if(n=(string_count(',',argument0)+1)){n=0;}
}