diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/input.rb | 35 | ||||
| -rw-r--r-- | test/key.rb | 30 | ||||
| -rw-r--r-- | test/mouse.rb | 53 | ||||
| -rw-r--r-- | test/testcard.rb | 7 |
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 |
