1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# frozen_string_literal: true
require 'ruby2d'
require_relative 'lib/camera/camera'
require_relative 'tileset'
require_relative 'ui'
require_relative 'input'
set width: 640, height: 480
set width: 1280, height: 720
set width: 1920, height: 1080
set background: 'navy'
UI.load
@eks = 0
@why = 0
# Create on click
#@new = @yep.create_image(column: @selected_item[0],
# row: @selected_item[1],
# x: (Camera.mouse[0] - (Camera.mouse[0] % (128 + 12))),
# y: (Camera.mouse[1] - (Camera.mouse[1] % (128 + 12))))
#Camera << @new
on :mouse_scroll do |event|
@selected_item[0] += event.delta_y
if @selected_item[0] >= @yep.columns
@selected_item[1] = (@selected_item[1] + 1) % @yep.rows
elsif @selected_item[0].negative?
@selected_item[1] = (@selected_item[1] - 1) % @yep.rows
end
@selected_item[0] %= @yep.columns
end
@yep = Tileset.new('./assets/kenny/PNG/128', 128, 128)
@yep.tileset.each do |thing|
thing.each do |stuff|
#stuff
end
end
([email protected]).each do |row|
([email protected]).each do |column|
#Camera << @yep.create_image(column: column, row: row, x: (column * (128 + 12)), y: (row * (128 + 12)))
end
end
#@selected_item = [0,0]
#@selected_image = @yep.create_image(column: @selected_item[0], row: @selected_item[1])
Camera.zoom = 0.25
UI::Main.mouse_follow.objects.each do |object|
Camera << object
end
UI::Popup.menubox.base.color = ['orange', 'yellow', 'red', 'maroon']
@timer = 0
update do
Camera.x += 10 if Input.held('d')
Camera.x -= 10 if Input.held('a')
Camera.y -= 10 if Input.held('w')
Camera.y += 10 if Input.held('s')
@timer += 1
@timer %= 60
if (@timer % 30).zero?
end
#Camera.remove @selected_image
#@selected_image.remove
UI::Main.mouse_follow.x = (Camera.mouse[0] - (Camera.mouse[0] % (128 + 12) + 12))
UI::Main.mouse_follow.y = (Camera.mouse[1] - (Camera.mouse[1] % (128 + 12) + 12))
# Ignore if to the left of UI boxes
if (Window.mouse_x - 30).positive? && \
# Ignore if to the right of UI boxes
(Window.mouse_x < (UI::Main.history_slots.length * 75) + 15) && \
# If within a box, and not between 2 boxes
(((Window.mouse_x - 30) % 75) <= 60) && \
# Ignore below boxes
(Window.mouse_y >= Window.height - 90) && \
# Ignore above boxes
(Window.mouse_y <= Window.height - 30)
UI::Main.history_slots.each do |item|
if item[0].contains(Window.mouse_x, Window.mouse_y)
item[0].base_color = 'lime'
else
item[0].base_color = 'green'
end
end
end
if UI::Main.popup_button.contains(Window.mouse_x, Window.mouse_y)
if Input.down('left')
UI::Main.popup_button.swap_colors = true
if UI::Popup.showing_menu = !UI::Popup.showing_menu
UI::Popup.tiles.each do |tile|
tile.add
end
UI::Main.mouse_follow.remove
else
UI::Popup.tiles.each do |tile|
tile.remove
end
UI::Main.mouse_follow.add
end
elsif Input.up('left')
UI::Main.popup_button.swap_colors = false
end
else
UI::Main.popup_button.swap_colors = false
end
#@selected_image = @yep.create_image(column: @selected_item[0],
# row: @selected_item[1],
# x: (Camera.mouse[0] - (Camera.mouse[0] % (128 + 12))),
# y: (Camera.mouse[1] - (Camera.mouse[1] % (128 + 12))))
#Camera << @selected_image
Input.reset
Camera.redraw
end
show
|