Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - asgard

1
Me está pasando una cosa muy extraña. He abierto hoy mi proyecto de GameMaker y cuando le doy a ejecutar (flecha verde) no me sale mi juego. Me sale la ventana, me compila bien y demás, no da ningún error, pero la ventana aparece toda negra. No se por qué es, no he tocado nada desde la última, que me funcionaba bien. Espero que sepáis a qué se debe y a ver si a alguien le ha pasado también...
Un saludo, Mario
2
Preguntas y respuestas / Problema código collisions.
Octubre 30, 2014, 06:54:42 PM
La cuestión es que no me deja andar una vez caigo en el obj_solid_platform, no se que es lo que falla la verdad. Dejo aqui el codigo por si alguien se ofrece a ayudar.

Código:

Script:
///Collision

if (argument0.solid && !place_free(x + hspeed, y + 1)) {
    x -= hspeed;
}

if (place_meeting(x + hspeed, y + vspeed, argument0)) {
    if (vspeed > 0 && y - vspeed < argument0.y + step_threshold) {
        y = other.y - 1;
        vspeed = 0;
        gravity = 0;
        state_id = state_idle;
        entered_new_state = true;
        jump_count = 0;
        current_platform = argument0.id;
    }
    else if (argument0.solid) {
        y -= vspeed;
        vspeed = 0;
    }
}

este script lo llamo desde un event collision. Gracias de antemano.
3
Hola a todos mi nombre es Mario y llevo unos cuantos días intentando que me funcione un codigo pero no lo consigo. Básicamente alterna entre tres estados: idle, walk y jump. Pues bien, consigo que mi personaje camine para un lado y para otro, con sus respectivas animaciones, pero a la hora de saltar no hace absolutamente nada. Llevo bastante tiempo revisandolo y me decido a preguntar por aquí, pues no consigo que haga un salto, es como si no me reconociera la tecla vk_up. Aquí dejo el código a ver si alguien me ayuda, gracias de antemano.

CÓDIGO:

Create Event:

execute code:

/// Variables
state_id = state_idle;
entered_new_state = false;
def_walk_speed = 10;
def_friction = 1;

//Jump
def_jump_speed = -15;
def_gravity = 1;
jump_count = 0;
jump_limit = 2;
grounded = false;
loop_index = 0;



Step Event:

execute code:

///state machine update
var current_state = state_id;
event_user(state_id);

if (state_id != state_jump) {
    if (y < global.room_bottom && place_empty(x, y + 1)) {
        state_id = state_jump;
        grounded = false;
    }

    if (grounded && jump_count < jump_limit && keyboard_check_pressed(vk_up)) {
        state_id = state_jump;
    }
}

if (current_state != state_id) {
    entered_new_state = true;
}



Other Event: User Defined 0:

execute code:

/// IDLE STATE

if (entered_new_state) {
    sprite_index = spr_player;
    image_index = 0;
    friction = def_friction;
    entered_new_state = false;
}

if (keyboard_check(vk_left)) {
    state_id = state_walk;
    image_xscale = -1;
}

else if(keyboard_check(vk_right)) {
    state_id = state_walk;
    image_xscale = 1;
}

if (entered_new_state) {
    sprite_index = spr_vlad_idle;
    image_index = 0;
    loop_index = 0;
}

Other Event: User Defined 1:

execute code:

/// WALK STATE

if (entered_new_state) {
    sprite_index = spr_walking;
    image_index = 0;
    friction = 0;
    hspeed = def_walk_speed;
    if (image_xscale < 0) {
        hspeed *= -1;
    }
    entered_new_state = false;
}
if ((image_xscale < 0 && !keyboard_check(vk_left)) || (image_xscale > 0 && !keyboard_check(vk_right))) {
    state_id = state_idle;
}

if (entered_new_state) {
    sprite_index = spr_vlad_walk;
    image_index = 0;
    loop_index = 0;
}

Other Event: User Defined 2:

execute code:

/// JUMP / FALL STATE

key_jump = vk_up;

if (entered_new_state) {
    sprite_index = spr_player_jump;
    loop_index = 11;
    if (grounded) {
        vspeed = def_jump_speed;
        image_index = 0;
        audio_play_sound(snd_jump, 0, false);
    }
    else {
        image_index = 11;
    }
    jump_count++;
    gravity = def_gravity;
    friction = 0;
    grounded = false;
    entered_new_state = false;
}
if (keyboard_check(vk_left)) {
    image_xscale = -1;
    hspeed = max(hspeed - def_friction, -def_walk_speed);
}
else if (keyboard_check(vk_right)) {
    image_xscale = 1;
    hspeed = min(hspeed + def_friction, def_walk_speed);
}
else {
    if (hspeed < def_friction) {
        hspeed = min(hspeed + def_friction, 0);
    }
    else if (hspeed > def_friction) {
        hspeed = max(hspeed - def_friction, 0);
    }
    else {
        hspeed = 0;
    }
}

if (vspeed < 0 && keyboard_check_released(vk_up)) {
    vspeed *= 0.5;
}
else if (jump_count < jump_limit && keyboard_check_pressed(vk_up)) {
    entered_new_state = true;
    grounded = true;
}

if (y + vspeed > global.room_bottom) {
    y = global.room_bottom;
    vspeed = 0;
    gravity = 0;
    jump_count = 0;
    state_id = state_idle;
}