buenas estoy creando un contador de movimiento, y este es mi codigo:
// Movimientos Cuadrado
if !keyboard_check(vk_up) and !keyboard_check(vk_down) and keyboard_check_pressed(vk_right) and place_free(x + 1, y)
{
x += 24;
movimiento = 1
}
if !keyboard_check(vk_up) and !keyboard_check(vk_down) and keyboard_check_pressed(vk_left) and place_free(x - 1, y)
{
x -= 24;
movimiento = 1
}
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_down) and place_free(x, y + 1)
{
y +=24;
movimiento = 1
}
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_up) and place_free(x, y - 1)
{
y -= 24
movimiento = 1
}
// Colision ob_bloque
if place_meeting(x, y, obj_bloque)
{
x = xprevious;
y = yprevious;
}
.
Lo que quiero esq cuando no haya movimiento la variable movimiento sea igual a 0. Todo esto esta montado en Step
Muchas Gracias
// Colision ob_bloque
if place_meeting(x, y, obj_bloque)
{
x = xprevious;
y = yprevious;
movimiento=0
}
Tambien
if keyboard_check_released(vk_left) or keyboard_check_released(vk_right) or keyboard_check_released(vk_up) or keyboard_check_released(vk_down) {movimiento=0}
Lo que me gustaria saber la expresion que si esta colisionando el contador no reste, es que he cambiado el codigo:
// Movimientos Cuadrado
if !keyboard_check(vk_down) and !keyboard_check(vk_up) and keyboard_check_pressed(vk_right) and place_free(x + 1, y)
{
x += 24;
global.score_move -= 1;
}
if !keyboard_check(vk_down) and !keyboard_check(vk_up) and keyboard_check_pressed(vk_left) and place_free(x - 1, y)
{
x -= 24;
global.score_move -= 1;
}
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_down) and place_free(x, y + 1)
{
y +=24;
global.score_move -= 1;
}
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_up) and place_free(x, y - 1)
{
y -= 24
global.score_move -= 1;
}
// Colision ob_bloque
if place_meeting(x, y, obj_bloque)
{
x = xprevious;
y = yprevious;
}
Muchas Gracias
Hola, no he entendido bien, pero seria algo asi..... ???
if !(place_meeting(x, y, obj_bloque)) //si no esta el bloque
{
if !keyboard_check(vk_down) and !keyboard_check(vk_up) and keyboard_check_pressed(vk_right) and place_free(x + 1, y)
{
x += 24;
global.score_move -= 1;
}
if !keyboard_check(vk_down) and !keyboard_check(vk_up) and keyboard_check_pressed(vk_left) and place_free(x - 1, y)
{
x -= 24;
global.score_move -= 1;
}
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_down) and place_free(x, y + 1)
{
y +=24;
global.score_move -= 1;
}
if !keyboard_check(vk_right) and !keyboard_check(vk_left) and keyboard_check_pressed(vk_up) and place_free(x, y - 1)
{
y -= 24
global.score_move -= 1;
}
}
else // si esta
{que haga lo que sea}
Siento si no me expresado bien, lo que quiere es que cuando colisione no cuente movimientos, y no se como ponerlo
Muchas Gracias
Haber si te entiendo. Quieres contar los movimientos que hace ti objeto no??. Y si topa no puede moverse? O se puede mover pero no cuenta movimientos?? Explica un poco mas porfa.
el objeto cuando colisiona no se puede moverse y tampoco el contador de movimeintos deberia restar movimientos.
Muchas Gracias
Acabo de probar tu codigo y funciona, se detiene al chocar con las paredes y solo resta cuando se mueve y no cuando tiene un obstaculo enfrente. Cual es el problema ???
La solucion es poner el objeto de colision en solido, jajajajaja. al utilizar place_free. Cosa que yo no tenia. A veces te pones a dar vueltas y vueltas y despues es una tonteria. Gracias 3d gemenis y a los demas por el interes
Muchas Gracias