summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/input.rb35
-rw-r--r--test/key.rb30
-rw-r--r--test/mouse.rb53
-rw-r--r--test/testcard.rb7
4 files changed, 86 insertions, 39 deletions
diff --git a/test/input.rb b/test/input.rb
deleted file mode 100644
index 82bce4a..0000000
--- a/test/input.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-require 'ruby2d'
-
-set width: 200, height: 100, title: "Ruby 2D — Input"
-
-on key_down: 'a' do
- puts "Key 'a' down"
-end
-
-on key: 'b' do
- puts "Key 'b' held down"
-end
-
-on key_up: 'c' do
- puts "Key 'c' up"
-end
-
-on key_down: 'any' do
- puts "A key was pressed"
-end
-
-on_key do |key|
- if key == 'd'
- puts "on_key: #{key}"
- end
-end
-
-on mouse: 'any' do |x, y|
- puts "Mouse clicked at: #{x}, #{y}"
-end
-
-on key: 'escape' do
- close
-end
-
-show
diff --git a/test/key.rb b/test/key.rb
new file mode 100644
index 0000000..3c2c8e6
--- /dev/null
+++ b/test/key.rb
@@ -0,0 +1,30 @@
+require 'ruby2d'
+
+set title: "Ruby 2D — Key", width: 300, height: 200
+
+s1 = Square.new(5, 5, 50, [1, 1, 1, 1])
+s2 = Square.new(60, 5, 50, [1, 1, 1, 1])
+
+on :key do |event|
+ puts event
+end
+
+on :key_down do |event|
+ s1.color = [1, 0, 0, 1]
+end
+
+on :key_held do |event|
+ s2.color = [0, 1, 0, 1]
+end
+
+on :key_up do |event|
+ s1.color = [1, 1, 1, 1]
+ s2.color = [1, 1, 1, 1]
+end
+
+
+on :key_down do |event|
+ close if event.key == 'escape'
+end
+
+show
diff --git a/test/mouse.rb b/test/mouse.rb
new file mode 100644
index 0000000..7daa738
--- /dev/null
+++ b/test/mouse.rb
@@ -0,0 +1,53 @@
+require 'ruby2d'
+
+set title: "Ruby 2D — Mouse", width: 400, height: 300
+
+on :mouse do |event|
+ puts event
+end
+
+s1 = Square.new(5, 5, 25, [1, 1, 0, 1]) # mouse down square
+s2 = Square.new(188, 10, 25) # mouse scroll square
+s3 = Square.new(188, 137, 25, [1, 1, 1, 1]) # mouse move delta square
+s4 = Square.new(35, 5, 10) # mouse move position square
+
+on :mouse_down do |event|
+ case event.button
+ when :left
+ s1.color = [1, 0, 0, 1]
+ when :middle
+ s1.color = [0, 0, 1, 1]
+ when :right
+ s1.color = [0, 1, 0, 1]
+ end
+ s1.x = event.x
+ s1.y = event.y
+end
+
+on :mouse_up do |event|
+ s1.color = [1, 1, 0, 1]
+ s1.x = event.x
+ s1.y = event.y
+end
+
+on :mouse_scroll do |event|
+ s2.x = s2.x + event.delta_x
+ s2.y = s2.y + event.delta_y
+end
+
+on :mouse_move do |event|
+ s3.x = 188 + event.delta_x
+ s3.y = 137 + event.delta_y
+ s4.x = event.x - 5
+ s4.y = event.y - 5
+end
+
+# Crosshairs
+Rectangle.new(199, 0, 2, 300, [1, 0, 0, 1])
+Rectangle.new(0, 149, 400, 2, [1, 0, 0, 1])
+
+on :key_down do |event|
+ close if event.key == 'escape'
+end
+
+show
diff --git a/test/testcard.rb b/test/testcard.rb
index 1951390..a7dc308 100644
--- a/test/testcard.rb
+++ b/test/testcard.rb
@@ -203,12 +203,11 @@ updated_text.remove
updated_text.add
UPDATED_TEXT_OPTIONS = "of various size".split(" ")
-on key: 'escape' do
- close
+on :key_down do |event|
+ close if event.key == 'escape'
end
-on mouse: 'any' do |x, y|
- puts "Mouse down at: #{x}, #{y}"
+on :mouse_down do
pointer_outline.x = (get :mouse_x) - 9
pointer_outline.y = (get :mouse_y) - 11
flash = 2