### Home Classes Methods

### Files

- CREDITS
- LICENSE
- NEWS
- README
- ROADMAP
- custom_sdl_load_paths.rdoc
- getting_started.rdoc
- keyboard_symbols.rdoc
- macosx_install.rdoc
- managing_framerate.rdoc
- surface_palettes.rdoc
- windows_install.rdoc

### Class Index

Quicksearch

- Rubygame
- Rubygame::ActiveEvent
- Rubygame::Clock
- Rubygame::Color
- Rubygame::Color::ColorBase
- Rubygame::Color::ColorHSL
- Rubygame::Color::ColorHSV
- Rubygame::Color::ColorRGB
- Rubygame::Color::Palette
- Rubygame::Event
- Rubygame::EventActions
- Rubygame::EventActions::BlockAction
- Rubygame::EventActions::MethodAction
- Rubygame::EventActions::MultiAction
- Rubygame::EventHandler
- Rubygame::EventHandler::HasEventHandler
- Rubygame::EventHook
- Rubygame::EventQueue
- Rubygame::EventTriggers
- Rubygame::EventTriggers::AndTrigger
- Rubygame::EventTriggers::AttrTrigger
- Rubygame::EventTriggers::BlockTrigger
- Rubygame::EventTriggers::InstanceOfTrigger
- Rubygame::EventTriggers::KeyPressTrigger
- Rubygame::EventTriggers::KeyReleaseTrigger
- Rubygame::EventTriggers::KindOfTrigger
- Rubygame::EventTriggers::MouseMoveTrigger
- Rubygame::EventTriggers::MousePressTrigger
- Rubygame::EventTriggers::MouseReleaseTrigger
- Rubygame::EventTriggers::OrTrigger
- Rubygame::EventTriggers::TickTrigger
- Rubygame::EventTriggers::YesTrigger
- Rubygame::Events
- Rubygame::Events::ClockTicked
- Rubygame::Events::InputFocusGained
- Rubygame::Events::InputFocusLost
- Rubygame::Events::JoystickAxisMoved
- Rubygame::Events::JoystickBallMoved
- Rubygame::Events::JoystickButtonEvent
- Rubygame::Events::JoystickButtonPressed
- Rubygame::Events::JoystickButtonReleased
- Rubygame::Events::JoystickHatMoved
- Rubygame::Events::KeyPressed
- Rubygame::Events::KeyReleased
- Rubygame::Events::KeyboardEvent
- Rubygame::Events::MouseButtonEvent
- Rubygame::Events::MouseFocusGained
- Rubygame::Events::MouseFocusLost
- Rubygame::Events::MouseMoved
- Rubygame::Events::MousePressed
- Rubygame::Events::MouseReleased
- Rubygame::Events::QuitRequested
- Rubygame::Events::WindowExposed
- Rubygame::Events::WindowMinimized
- Rubygame::Events::WindowResized
- Rubygame::Events::WindowUnminimized
- Rubygame::ExposeEvent
- Rubygame::Ftor
- Rubygame::GL
- Rubygame::Hotspot
- Rubygame::JoyAxisEvent
- Rubygame::JoyBallEvent
- Rubygame::JoyDownEvent
- Rubygame::JoyHatEvent
- Rubygame::JoyUpEvent
- Rubygame::Joystick
- Rubygame::Key
- Rubygame::KeyDownEvent
- Rubygame::KeyUpEvent
- Rubygame::MailQueue
- Rubygame::MediaBag
- Rubygame::Mixer
- Rubygame::Mixer::Music
- Rubygame::Mixer::Sample
- Rubygame::Mouse
- Rubygame::MouseDownEvent
- Rubygame::MouseMotionEvent
- Rubygame::MouseUpEvent
- Rubygame::Music
- Rubygame::NamedResource
- Rubygame::NamedResource::NamedResourceClassMethods
- Rubygame::QuitEvent
- Rubygame::Rect
- Rubygame::ResizeEvent
- Rubygame::SDLError
- Rubygame::SFont
- Rubygame::Screen
- Rubygame::Sound
- Rubygame::Sprites
- Rubygame::Sprites::DepthSortGroup
- Rubygame::Sprites::Group
- Rubygame::Sprites::LimitGroup
- Rubygame::Sprites::Sprite
- Rubygame::Sprites::UpdateGroup
- Rubygame::Surface
- Rubygame::TTF

No matching classes.

# ROADMAP

This represents the direction Rubygame will be going in, but keep in mind that plans and details may change over time.

## 2.X (possible minor releases before 3.0)

### Focus: Surface & Rect

- Surface improvements

  - Make Surface instances copyable and marshalable

  - Support for palettes on 8-bit Surfaces

  - Export as OpenGL-ready 32bit pixel data.

  - To Fix: New Surfaces never have alpha channels

  - To Add: Surface#pixels= (set pixel data directly)

  - To Add: Surface.load_from_pixels (create from pixel data)

- Optimize Rect for speed

### Focus: Sprites

- New sprite system

  - New Sprite, Scene, and Camera classes.

  - More powerful and simpler to use.

  - Integration with the Chipmunk physics library?

## 3.0 (next major release)

- Backwards compatibility is broken:

  - Deprecated classes / methods retired:

    - Rubygame::Mixer module.

    - Rubygame::Mixer::Sample class. Use Rubygame::Sound.

    - Rubygame::Mixer::Music class. Use Rubygame::Music.

    - Rubygame::Surface.load_image method. Use Rubygame::Surface.load.

    - Rubygame::Ftor class. An alternative class will be provided.

    - Rubygame::MediaBag class. Use Surface#[], Sound#[], and Music#[].

  - Surface#get_at

  - Sprites::Group#collide_group

- Change Sprites::Group#collide_group to scrap the 'killa/killb' stuff, take a block instead.

## Possible future developments

- Switch from SDL_gfx to SPriG for graphics primitives.

  - SPriG provides more functionality and flexibility, and a more consistent interface.

  - How does speed compare?

  - Is it buggy?

- Alternative back-ends:

  - OpenGL (faster rendering, better Mac support)

  - Allegro?

- Polygon, circle, and other geometric primitives

  - Drawing, with styles?

  - OpenGL drawing?

  - Collision detection?

  - Physical shapes w/ Chipmunk?

  - Generate bounding Polygon from an image automatically?

- Path (Curve?) (graphs/plots for tracing position and other uses)

  - Can find the position N units along the path.

  - Can draw a line showing the path.

  - LinearPath (connect the dots, linear interpolation)

  - BezierPath (chain of continuous cubic Bézier curves)

  - CodePath (calculated from a code block)

- Effect (Action?)

  - "Attach" to an instance, does something over time.

  - E.g. moves a sprite from point A to point B over N seconds.

  - Many types of effects, easy to define custom ones.

  - Takes parameters: start/end time, others depending on effect.

[Validate]

Generated with the Darkfish Rdoc Generator 2.