Cita de: mijailbellum en Enero 17, 2014, 08:11:58 PM
Por ejemplo eso de poner los movimientos en "Step" si que recomiendan no hacerlo, porque dicho evento se ejecuta en cada "paso" del juego y es un gasto innecesario de uso del procesador, yo creo también que deberías hacer caso a lo que te han dicho no te preocupes de eso ahora mismo y ve probando, tú mismo te darás cuenta de lo que es mejor o peor a la hora de programar.
Pues mira...me viene bien tu ejemplo:
He pasado todo el código que tenía en el evento Step (los cuatro movimientos direcciones) y ahora al dividirlo cada uno de ellos en cada evento Keyboard, ya no funciona.
Este es el código que antes me funcionaba en el evento Step:
Código [Seleccionar]
if place_snapped(32,32) then
speed = 0;
if place_snapped(32,32) then
begin
if keyboard_check(vk_left) then
begin
sprite_index = spr_heroe_left
direction = 180;
speed = 4;
end;
end;
if place_snapped(32,32) then
begin
if keyboard_check(vk_right) then
begin
sprite_index = spr_heroe_right
direction = 0;
speed = 4;
end;
end;
if place_snapped(32,32) then
begin
if keyboard_check(vk_up) then
begin
sprite_index = spr_heroe_up
direction = 90;
speed = 4;
end;
end;
if place_snapped(32,32) then
begin
if keyboard_check(vk_down) then
begin
sprite_index = spr_heroe_down
direction = 270;
speed = 4;
end;
end;
Al dividir este código entre cuatro (cada dirección del personaje en su evento Keyboard) ya no funciona. Bueno...funciona pero mal. Osea, que el personaje o no se para o bien no se mueve. Cuando estaba en el evento Step se movía al pulsar la tecla y se paraba al alinearse con el grid.
Y ahora en el evento Keyboard left pongo este código (pero no funciona bien):
Código [Seleccionar]
if place_snapped(32,32) then
begin
sprite_index := spr_heroe_left;
direction := 180;
speed := 4;
end;
¿Alguna idea...? :-[