Information about object: obj_player
Sprite: spr_idle_down
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask:
No Physics Object
Create Event:
execute code:
///set up
enum player_state {
idle,
up,
down,
left,
right
}
dir=player_state.down;
is_moving=false;
image_speed=0.5;
global.treasure=0;
Step Event:
execute code:
///keypress code
if (keyboard_check(vk_left))
{
dir=player_state.left;
is_moving=true;
}
else
if (keyboard_check(vk_right))
{
dir=player_state.right;
is_moving=true;
}
else
if (keyboard_check(vk_up))
{
dir=player_state.up;
is_moving=true;
}
else
if (keyboard_check(vk_down))
{
dir=player_state.down;
is_moving=true;
}
else
{
is_moving=false;
}
execute code:
///movement
if is_moving
{
switch (dir)
{
case player_state.up:
y -= 4;
break;
case player_state.down:
y += 4;
break;
case player_state.left:
x -= 4;
break;
case player_state.right:
x += 4;
break;
}
}
execute code:
///animation
if is_moving
{
switch (dir)
{
case player_state.up:
sprite_index=spr_walk_up;
break;
case player_state.down:
sprite_index=spr_walk_down;
break;
case player_state.left:
sprite_index=spr_walk_left;
break;
case player_state.right:
sprite_index=spr_walk_right;
break;
}
}
if !is_moving
{
switch (dir)
{
case player_state.up:
sprite_index=spr_idle_up;
break;
case player_state.down:
sprite_index=spr_idle_down;
break;
case player_state.left:
sprite_index=spr_idle_left;
break;
case player_state.right:
sprite_index=spr_idle_right;
break;
}
}
Collision Event with object obj_treasure:
execute code: global.treasure++; with (other) instance_destroy();
Draw Event:
execute code: draw_self(); //draw treasure draw_text(400,30,"Treasure "+string(global.treasure)+" / 5");
Information about object: obj_pirateSprite: spr_pirate
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: ///Set Up text is_touching=false;//used to check whether colliding with player text="";//initial message state show_text="";//start the typewriter text as "" count=0;//location in show_text pirate_text=ds_list_create();//create list for text //add text to list ds_list_add(pirate_text, "You Need More Treasure", "Come Back When You Have 5 Chests", "Not Enough Treasure", "It Will Cost More Than That", "Not Enough", "I Need More Treasure", "I Charge More Than That", "You'll Need 5 Chests", "My Ship Costs More Than You Have");Alarm Event for alarm 0:execute code: is_touching=false; text=""; show_text=""; count=0;Collision Event with object obj_player:execute code: if global.treasure<5 { if !is_touching { message=irandom(8); show_debug_message(message); is_touching=true; text=pirate_text[|message]; } alarm[0]=room_speed*5; } else { room_goto(room_complete); }Other Event: Game End:execute code: ds_list_destroy(pirate_text);Draw Event:execute code: ///drawing stuff draw_self();//draw self ///set text to draw if(string_length(show_text) < string_length(text)) { show_text = string_copy(text,1,count); alarm[0] = room_speed*4; count +=1; } if show_text!=""///draw bubble if text present { padding=10; //set variables width =string_width(text) + padding * 2; // width of message, capped at max_width height = string_height(text) + padding * 2; border_size=2; //draw bits below first to create a border //round rectangle first draw_set_colour(c_blue); draw_roundrect(x-(width/2)-border_size, y-90-(height/2)-border_size,x+(width/2)+border_size,y-90+(height/2)+border_size,false); //triangle outline for triangle draw_line_width(x-(width/4)+border_size,y-90+(height/2)-border_size,x+border_size,y-25,border_size); draw_line_width(x,y-25,x-(width/2),y-90+(height/2),border_size); //draw a the box draw_set_colour(c_white); draw_roundrect(x-(width/2),y-90-(height/2),x+(width/2),y-90+(height/2),false); //draw_triangle to make it look like speech bubble draw_triangle( x-(width/2)+2,y-90+(height/2), x-(width/4),y-90+(height/2), x,y-25, false); //draw a message draw_set_font(font_message); draw_set_halign(fa_center); draw_set_valign(fa_middle); draw_set_colour(c_black); draw_text(x,y-90,show_text); }Information about object: obj_treasureSprite: spr_treasure
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectInformation about object: obj_game_completeSprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: alarm[0]=room_speed;Alarm Event for alarm 0:execute code: alarm[0]=room_speed/3; effect_create_above(ef_firework,irandom(room_width),irandom(room_height),choose(1,2),choose(c_red,c_green,c_yellow));Draw Event:execute code: draw_set_colour(c_white); draw_text(350,20,"You Did It!");Information about object: obj_shipSprite: spr_ship
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics Object
No comments:
Post a Comment