Saludos

Started by carles, April 20, 2010, 07:21:43 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Me alegra verte por aqui de forma activa, Pablo 28.
Ya verás como te sentiras en casa y con gente muy maja dispuesta a ayudarte en todo  ;)

FreeYourMind

Te acabas de ganar un karma, de una forma tan sencilla has hecho lo que pretendia en su día, y yo haciendo mogollon de ñapas para que la ondulación parase  ;D

Pongo tu modificación.

Resumiendo, esta nueva versión hace que la ondulación pare pasado algun tiempo (efecto similar al titulo de Toki, de Mega Drive).
Lo hace de forma perfecta y sencilla.

process ondularhastaparar(x,y,z,grafico,radio,omega,delta);
 
private
angulo;
altura;
desfase;
begin
loop
graph=new_map(radio*2+graphic_info(0,grafico,g_wide),graphic_info(0,grafico,g_height),16);
angulo=desfase;
from altura=0 to graphic_info(0,grafico,g_height);
map_block_copy(0,graph,radio+get_distx(angulo,radio),altura,grafico,0,altura,graphic_info(0,grafico,g_wide),1,128);
angulo+=omega;
end

if(radio>0)
          radio--;
       end

desfase+=delta;
if(angulo>360000) angulo-=360000; end
if(desfase>360000) desfase-=360000; end
frame;
unload_map(0,graph);
end
end


FreeYourMind

Pongo un ejemplo compilado, acompañado de 2 efectos más, uno de ellos utiliza la dll water.

shao

creo que se pueden conseguir cosas chulas con el efecto de ondulacion, añadiendo un contador al efecto anterior para que se detenga en el rango de tiempo que tu desees se detendria menos bruscamente.
saludos!

FreeYourMind

Si eso me lo pense, pero no he completado el ejemplo porque eso ya resulta fácil, seria sólo poner un parametro de entrada 'tiempo hasta parar' por ejemplo, y que esa variable ejecutará el

if(radio>0)
   radio--;
end

cuando fuera 0, por ejemplo.

Lo importante era hacer que parase de forma normal, mi anterior ejemplo hacia ñapas para que parase de forma natural, y no lo conseguia (estaba muy proximo), pero con sólo tu condición esto ocurre de forma natural.

Has hecho un gran aporte, lo que demuestra que en programación es así la vida, a veces damos vueltas y vueltas para hacer algo que se hace en 2 segundos :)

shao

"ñapas?" jaja
creo que tambien lo que pasa a veces es que cojes el problema con la mente mas fresca y te cuesta menos solucionarlo, que despues de haber estado un tiempo sobre el mismo problema.