When editing an object, there's a button with "object information" on it.
I don't see where you set lkey, rkey and such.
I suppose this isn't all the code in the object.
formation about object: obj_chroma
Sprite: spr_chroma
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: cam_follow
Children:
Mask:
No Physics Object
Create Event:
execute code:
///Initialize Variables
grav = 1;
spd = 7;
hspd = 0;
vspd = 0;
jspd_normal = 16.25
jspd_powerup = 26.25
jspd = jspd_normal
airjump = 1
candash = false
dash = spd*20;
global.facing = 0
gamepad_set_axis_deadzone(0,0.7);
image_index = 0;
image_speed = 0;
imageNumber = 0;
Alarm Event for alarm 0:
execute code:
jspd = jspd_normal;
Alarm Event for alarm 1:
execute code:
candash = false
Step Event:
execute code:
var lkey = (keyboard_check(vk_left) || (gamepad_axis_value(0,gp_axislh) < 0) || gamepad_button_check(0,gp_padl));
var rkey = keyboard_check(vk_right) || (gamepad_axis_value(0,gp_axislh) >0) || (gamepad_button_check(0,gp_padr));
var jkey = keyboard_check_pressed(vk_space) || (gamepad_button_check_pressed(0,gp_face1));
var restartkey = (gamepad_button_check_pressed(0,gp_start));
var rdashkey = (gamepad_button_check_pressed(0,gp_shoulderrb));
var ldashkey = (gamepad_button_check_pressed(0,gp_shoulderlb));
//For Quick Restart
if (restartkey) {
game_restart()
}
//Check For Ground
if (place_meeting(x, y+1, par_wall)) {
airjump = 1;
vspd = 0;
//Jumping
if (jkey) {
vspd = -jspd
}
} else {
//Gravity
if (vspd < 10) {
vspd += grav;
}
if (keyboard_check_released(vk_space)||(gamepad_button_check_released(0,gp_face1)) && vspd <-4) {
vspd = -4;
}
//Check For Air Jump
if (airjump > 0) {
if (jkey) {
vspd = -jspd;
airjump -= 1;
}
}
}
//Moving Left
if (lkey) {
hspd = -spd;
//Right Wall Jump
if (place_meeting(x+1, y, par_wall) && !place_meeting(x, y+1, par_wall) && !rkey)
vspd = -jspd;
}
//Moving Right
if (rkey) {
hspd = spd;
//Left Wall Jump
if (place_meeting(x-1, y, par_wall) && !place_meeting(x, y+1, par_wall) && !lkey)
vspd = -jspd;
}
//Check For Not Moving
if ((!rkey && !lkey) || (rkey && lkey)) {
hspd = 0;
}
//Dashing
//if (rdashkey) {
//hspd = dash;
//}
//if (ldashkey) {
//hspd = -dash;
//}
if (rkey)
if (candash)
dash = true;
else {
alarm[0] = 10;
candash = true;
}
//Horizontal Collisions
if (place_meeting(x+hspd, y, par_wall)) {
while (!place_meeting(x+sign(hspd), y, par_wall)) {
x += sign(hspd);
}
hspd = 0;
}
//Finalize Horizontal
x += hspd;
//Vertical Collisions
if (place_meeting(x, y+vspd, par_wall)) {
while(!place_meeting(x, y+sign(vspd), par_wall)) {
y += sign(vspd)
}
vspd = 0;
}
//Sprite Direction
if (rkey) && place_free(x+5,y){
global.facing = 0
image_xscale = 1;
}
if (lkey) && place_free(x+5,y){
global.facing = 1
image_xscale = -1;
}
//Finalize Vertical
y += vspd;
Other Event: Outside Room:
execute code:
game_restart()