Octubre 28, 2011, 04:58:59 PM Ultima modificación: Octubre 31, 2011, 01:04:50 PM por dridly
Buenas,

tengo un player que se mueve por la pantalla, y conforme avanza va dejando un rastro de objetos cuadrados. C?digo de step:

[gml]if place_snapped(global.grid, global.grid) {
   if keyboard_check(vk_left) {
       motion_set(180, player_speed);
    } else if keyboard_check(vk_right) {
       motion_set(0, player_speed);
   } else if keyboard_check(vk_up) {
         motion_set(90, player_speed);
   } else if keyboard_check(vk_down) {
       motion_set(270, player_speed);
   } else {
       motion_set (0, 0)
   }
   if (place_meeting(x, y, rastro) == false)  {
       show_debug_message("libre")
       id_obj = instance_create(x, y, rastro)
   }  
}[/gml]

El problema es que no me lo hace bien. ?Como creo un rastro alineado a la cadricula de global.grid (32x32). Supongo que al hacer el movimiento, como igualmente lo incrementa la x o la y uno a uno, el place_meeting no me lo detecta bien. Asi que he hecho este cambio:
[gml]    if ((x mod global.grid) = 0 && (y mod global.grid) = 0) {
       if (place_meeting(x, y, foreground) == false)  {
           show_debug_message(x mod global.grid)
           id_obj = instance_create(x, y, foreground)
       }  
   }[/gml]

Se supone que de est? manera, hasta que el x e y no est? alineado no deberia de entrar, pero lo hace. Como lo hariais vosotros?

Algo as???
(te dej? el ejemplo adjunto)





Muchas gracias Texic, me ha servido!!