Skip to content

Commit ead9749

Browse files
committed
basic menu
1 parent 8fac7a5 commit ead9749

File tree

13 files changed

+64
-25
lines changed

13 files changed

+64
-25
lines changed
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
for (var i=0; i<num_menu_items; i++) {
2-
delete menu_items[| i];
1+
for (var i=0; i<num_items; i++) {
2+
delete items[| i];
33
}
44

5-
ds_list_destroy(menu_items);
5+
ds_list_destroy(items);
6+
delete control_state;
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
menu_items = ds_list_create();
2-
menu_pos = 0;
3-
num_menu_items = 0;
1+
items = ds_list_create();
2+
num_items = 0;
3+
pos = 0;
44

55
draw_set_font(menu_font);
66
item_height = string_height("Ij");
77
cursor_width = sprite_get_width(cursor_spr);
88

9-
ctrl_pressed[MENU_CONTROLS.UP]
9+
control_state = new MenuControlState();
1010

1111
menu_functions();
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
for (var i=0; i<num_menu_items; i++) {
2-
draw_text(x + cursor_width + cursor_padding, y + (item_height + line_spacing) * i, menu_items[| i].label);
1+
for (var i=0; i<num_items; i++) {
2+
draw_text(x + cursor_width + cursor_padding, y + (item_height + line_spacing) * i, items[| i].label);
33
}
44

5-
draw_sprite(cursor_spr, 0, x, y + (item_height + line_spacing) * menu_pos);
5+
draw_sprite(cursor_spr, 0, x, y + (item_height + line_spacing) * pos);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
control_state.poll_input();
2+
3+
if (control_state.pressed_state[MENU_CONTROLS.UP]) {
4+
pos = wrap(pos-1, 0, num_items-1);
5+
}
6+
7+
if (control_state.pressed_state[MENU_CONTROLS.DOWN]) {
8+
pos = wrap(pos+1, 0, num_items-1);
9+
}

current-scripts/Demos/useful-scripts/objects/obj_menu/obj_menu.yy

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
menu = instance_create_layer(32, 32, layer, obj_menu);
2-
menu.cursor_spr = spr_arrow;
3-
menu.cursor_padding = sprite_get_width(menu.cursor_spr) + 16;
2+
menu.menu_init(fnt_demo, spr_arrow, "menu_demo_control_handler");
43

54
menu.add_menu_selectable("Foo", -1);
6-
menu.add_menu_selectable("bar", -1);
5+
menu.add_menu_selectable("Bar", -1);
6+
menu.add_menu_selectable("Baz", -1);
7+
menu.add_menu_selectable("Qux", -1);

current-scripts/Demos/useful-scripts/scripts/math_functions/math_functions.gml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ function soft_clamp(_value, _delta, _min, _max) {
101101
/// @apara {real} min
102102
/// @param {real} max
103103
function wrap(_value, _min, _max) {
104-
var _range = _max - _min;
104+
var _range = _max - _min + 1;
105105

106106
if (_range + _min == 0) return 0;
107107

current-scripts/Demos/useful-scripts/scripts/menu_demo_control/menu_demo_control.gml

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
function menu_demo_control_handler() {
2+
pressed_state[MENU_CONTROLS.UP] = keyboard_check_pressed(vk_up);
3+
pressed_state[MENU_CONTROLS.DOWN] = keyboard_check_pressed(vk_down);
4+
5+
held_state[MENU_CONTROLS.UP] = keyboard_check(vk_up);
6+
held_state[MENU_CONTROLS.DOWN] = keyboard_check(vk_down);
7+
}

current-scripts/Demos/useful-scripts/scripts/menu_demo_control/menu_demo_control.yy renamed to current-scripts/Demos/useful-scripts/scripts/menu_demo_control_handlers/menu_demo_control_handlers.yy

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)