Dejo el proyecto aquí para :GMS:
No se que es lo que hago mal, la verdad. Todo está escrito correctamente y no da ningún error, pero el personaje no se mueve.
La fricción es mucha e impide que avance.
Pues este error tan tonto me tiene paralizado 2 semanas o_O
Gracias por tu ayuda.
Ahora cambia lo del evento step por esto:
[spoiler]//movimiento horizontal
if keyboard_check(vk_left) {
phy_linear_velocity_x=-40*room_speed;
}
if keyboard_check(vk_right) {
phy_linear_velocity_x=40*room_speed;
}
if ((!keyboard_check(vk_right) && !keyboard_check(vk_left)) || (keyboard_check(vk_right) && keyboard_check(vk_left))) {
phy_linear_velocity_x=0;
}
//movimientos verticales
if keyboard_check_pressed(vk_up) && physics_test_overlap(x, y+1, phy_rotation, obj_suelo1) {
phy_linear_velocity_y=-160;
}
//Anular rotación
phy_fixed_rotation=true;
[/spoiler]
¿Porque cuando se mueve a los lados con phy_linear_velocity_x no se activa la gravedad ni el cmando phy_linear_velocity_y?
Cita de: venus en Octubre 25, 2014, 04:45:33 PM
Ahora cambia lo del evento step por esto:
[spoiler]//movimiento horizontal
if keyboard_check(vk_left) {
phy_linear_velocity_x=-40*room_speed;
}
if keyboard_check(vk_right) {
phy_linear_velocity_x=40*room_speed;
}
if ((!keyboard_check(vk_right) && !keyboard_check(vk_left)) || (keyboard_check(vk_right) && keyboard_check(vk_left))) {
phy_linear_velocity_x=0;
}
//movimientos verticales
if keyboard_check_pressed(vk_up) && physics_test_overlap(x, y+1, phy_rotation, obj_suelo1) {
phy_linear_velocity_y=-160;
}
//Anular rotación
phy_fixed_rotation=true;
[/spoiler]
¿Porque cuando se mueve a los lados con phy_linear_velocity_x no se activa la gravedad ni el cmando phy_linear_velocity_y?
Una pregunta: ¿No podes cambiar el tamaño de la ventana del código?
Es que está muy chiquita la ventana, apenas veo un renglón :-\
No se como se cambia eso, yo veo 1/4 de línea.
De todas maneras te dejo el código aquí:
//movimiento horizontal
if keyboard_check(vk_left) {
phy_linear_velocity_x=-40*room_speed;
}
if keyboard_check(vk_right) {
phy_linear_velocity_x=40*room_speed;
}
if ((!keyboard_check(vk_right) && !keyboard_check(vk_left)) || (keyboard_check(vk_right) && keyboard_check(vk_left))) {
phy_linear_velocity_x=0;
}
//movimientos verticales
if keyboard_check_pressed(vk_up) && physics_test_overlap(x, y+1, phy_rotation, obj_suelo1) {
phy_linear_velocity_y=-160;
}
//Anular rotación
phy_fixed_rotation=true;
Tienes que cambiarlo por lo que haya en el evento step.