yvodlyn
Member
Hello everyone,
I'm trying to make a bullet delay. It works but the sprite to shoot appears and disappears very quickly. I would like for the sprite to shoot to stays. Can someone tell me what wrong on my code?
here the code:
Create Event:
global.Php = 6;
speed_x = 0;
speed_y = 0;
grav = 0.3;
cooldown = -1;
Step Event for player config:
var spd_wanted = 0; //The wanted horizontal speed for this step
if(key_left)
{
spd_wanted -= 4;
}
if(key_right)
{
spd_wanted += 4;
}
speed_x += (spd_wanted - speed_x) * 0.1; //Smoothly accelerate / decelerate to the wanted speed.
var xsp = round(speed_x); //Turn the theoretical value into an integer for collision and movement
Step Event for player animation:
if (key_right || key_left) {
image_speed = .2;
sprite_index = spr_player_run;
} else {
image_speed = .3;
sprite_index = spr_player_idle;
}
//Sprite direction
if (xprevious < x) {
image_xscale = 1;
} else if (xprevious > x) {
image_xscale = -1;
}
Step Event for shooting:
cooldown--
///Shooting
if (keyboard_check(ord('X')) && cooldown < 0) {
if (sprite_index == spr_player_idle or sprite_index == spr_player_jump or sprite_index == spr_player_run){
speed_x = 0;
var len = sign(image_xscale)*2;
//Create bullet
instance_create(x + lengthdir_x(len, image_angle), y + lengthdir_y(len, image_angle), obj_bullet);
sprite_index = spr_player_shoot;
}
cooldown += room_speed/2;
}
I'm trying to make a bullet delay. It works but the sprite to shoot appears and disappears very quickly. I would like for the sprite to shoot to stays. Can someone tell me what wrong on my code?
here the code:
Create Event:
global.Php = 6;
speed_x = 0;
speed_y = 0;
grav = 0.3;
cooldown = -1;
Step Event for player config:
var spd_wanted = 0; //The wanted horizontal speed for this step
if(key_left)
{
spd_wanted -= 4;
}
if(key_right)
{
spd_wanted += 4;
}
speed_x += (spd_wanted - speed_x) * 0.1; //Smoothly accelerate / decelerate to the wanted speed.
var xsp = round(speed_x); //Turn the theoretical value into an integer for collision and movement
Step Event for player animation:
if (key_right || key_left) {
image_speed = .2;
sprite_index = spr_player_run;
} else {
image_speed = .3;
sprite_index = spr_player_idle;
}
//Sprite direction
if (xprevious < x) {
image_xscale = 1;
} else if (xprevious > x) {
image_xscale = -1;
}
Step Event for shooting:
cooldown--
///Shooting
if (keyboard_check(ord('X')) && cooldown < 0) {
if (sprite_index == spr_player_idle or sprite_index == spr_player_jump or sprite_index == spr_player_run){
speed_x = 0;
var len = sign(image_xscale)*2;
//Create bullet
instance_create(x + lengthdir_x(len, image_angle), y + lengthdir_y(len, image_angle), obj_bullet);
sprite_index = spr_player_shoot;
}
cooldown += room_speed/2;
}
Last edited: