Class Rubygame::Events::JoystickBallMoved
In: lib/rubygame/events/joystick_events.rb
Parent: Object

JoystickBallMoved is an event that occurs when a joystick’s trackball has changed position.

A joystick trackball is a ball which rotates freely in a socket, controlled by the user’s fingers or thumb.

A trackball reports movement on x and y axes, measured in pixels, just like a mouse does. However, a trackball does not report its current position, only its movement since the previous event.




ball  [R] 
joystick_id  [R] 
rel  [R] 

Public Class methods

Creates a new JoystickBallMoved instance.

joystick_id:an integer identifying which joystick changed. The first joystick is 0.
ball:an integer identifying which ball changed. The first ball on each joystick is 0.
rel:relative position (how much the ball moved since the previous event). [x,y], in pixels.


# File lib/rubygame/events/joystick_events.rb, line 209
      def initialize( joystick_id, ball, rel )

        unless joystick_id.kind_of?(Fixnum) and joystick_id >= 0
          raise ArgumentError, "joystick_id must be an integer >= 0"

        @joystick_id = joystick_id

        unless ball.kind_of?(Fixnum) and ball >= 0
          raise ArgumentError, "ball must be an integer >= 0"

        @ball = ball

        @rel = rel.to_ary.dup

        unless @rel.length == 2
          raise ArgumentError, "rel must have exactly 2 parts (got %s)"%@rel.length