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; can_show_message=true; //allows message to be shown
Alarm Event for alarm 0:
execute code: can_show_message=true;
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: ///collision with object for message
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; } } else { 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_message_item:
execute code: if can_show_message { can_show_message=false; scr_message(other.message); alarm[0]=room_speed*3; }
Information about object: obj_messageSprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: global.message=ds_list_create();//create a ds list to hold messages can_show=true;//set that a message can show to_draw="";//set text to draw to "" show_text=""; count=0;Alarm Event for alarm 0:execute code: ///alarm0 set alarm1 alarm[1]=room_speed*1;//create a short pause to_draw="";//remove text to show show_text=""; count=0;Alarm Event for alarm 1:execute code: ///set as able to show can_show=true;Step Event:execute code: ///check if message waiting var check=ds_list_size(global.message);//get no of messages waiting if check>0 && can_show//do this if more than one message and can show { to_draw=ds_list_find_value(global.message,0);//get message from top of ds list ds_list_delete(global.message,0);//delete this message can_show=false;//prevent showing alarm[0]=room_speed*4;//create a pause } if(string_length(show_text) < string_length(to_draw)) { show_text = string_copy(to_draw,1,count); alarm[0] = room_speed*5; count +=1; }Other Event: Game End:execute code: ds_list_destroy(global.message);Draw GUI Event:execute code: ///draw message if to_draw!=""//do if there is a message waiting { //set up var xx=350; var yy=600; var padding=10; var border_size=2; var width =string_width(to_draw) + padding * 2; // width of message var height = string_height(to_draw) + padding * 2; //draw border draw_set_colour(c_blue); draw_roundrect(xx-(width/2)-border_size, yy-(height/2)-border_size,xx+(width/2)+border_size,yy+(height/2)+border_size,false); //draw main message background draw_set_colour(c_aqua); draw_roundrect(xx-(width/2), yy-(height/2),xx+(width/2),yy+(height/2),false); //draw a message draw_set_font(font_message); draw_set_halign(fa_center); draw_set_valign(fa_middle); draw_set_colour(c_red); draw_text(xx+1,yy+1,show_text); draw_set_colour(c_black); draw_text(xx,yy,show_text); }Information about object: obj_message_itemSprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
ChildrenMask:
obj_door
obj_banana
obj_rum
obj_chest No Physics ObjectInformation about object: obj_doorSprite: spr_door
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: obj_message_item
Children:
Mask: No Physics ObjectCreate Event:execute code: message="You Need A Key To Open This";Information about object: obj_bananaSprite: spr_banana
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: obj_message_item
Children:
Mask: No Physics ObjectCreate Event:execute code: message="Press P To Pick Up Banana";Information about object: obj_rumSprite: spr_rum
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: obj_message_item
Children:
Mask: No Physics ObjectCreate Event:execute code: message="Press M To Drink The Rum";Information about object: obj_chestSprite: spr_chest
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: obj_message_item
Children:
Mask: No Physics ObjectCreate Event:execute code: message="Press K To Use The Key";
No comments:
Post a Comment