Class: MG::Scene

Inherits:
Node
  • Object
show all
Defined in:
motion-game

Overview

This class represents a scene, an independent screen or stage of the application workflow. A scene is responsible for handling events from the device, providing a physics world for the sprites, and also starting the game loop. An application must have at least one scene, and the Scene class is designed to be subclassed.

Properties collapse

Attributes inherited from Node

#alpha, #anchor_point, #color, #name, #position, #rotation, #scale, #size, #visible?, #z_index

Constructors collapse

Update Loop collapse

Events collapse

Methods inherited from Node

#add, #children, #clear, #delete, #delete_from_parent, #intersects?, #parent, #run_action, #stop_action, #stop_all_actions

Constructor Details

#initializeScene

The default initializer. Subclasses can construct the scene interface in this method, as well as providing an implementation for #update, then run the update loop by calling #start_update.



531
# File 'motion-game', line 531

def initialize; end

Instance Attribute Details

#debug_physics?Boolean

Returns whether the physics engine should draw debug lines.

Returns:

  • (Boolean)

    whether the physics engine should draw debug lines.



615
616
617
# File 'motion-game', line 615

def debug_physics?
  @debug_physics?
end

#gravityPoint

Returns the gravity of the scene's physics world.

Returns:

  • (Point)

    the gravity of the scene's physics world.



612
613
614
# File 'motion-game', line 612

def gravity
  @gravity
end

Instance Method Details

#on_accelerate {|Events::Acceleration| ... } ⇒ Scene

Starts listening for accelerometer events on the receiver.

Yields:

  • (Events::Acceleration)

    the given block will be yield when an accelerometer event is received from the device.

Returns:

  • (Scene)

    the receiver.



600
# File 'motion-game', line 600

def on_accelerate; end

#on_contact_begin {|Events::PhysicsContact| ... } ⇒ Scene

Starts listening for contact begin events from the physics engine.

Yields:

  • (Events::PhysicsContact)

    the given block will be yield when a contact event is received from the physics engine.

Returns:

  • (Scene)

    the receiver.



606
# File 'motion-game', line 606

def on_contact_begin; end

#on_touch_begin {|Events::Touch| ... } ⇒ Scene

Starts listening for touch begin events on the receiver.

Yields:

  • (Events::Touch)

    the given block will be yield when a touch begin event is received.

Returns:

  • (Scene)

    the receiver.



576
# File 'motion-game', line 576

def on_touch_begin; end

#on_touch_cancel {|Events::Touch| ... } ⇒ Scene

Starts listening for touch cancel events on the receiver.

Yields:

  • (Events::Touch)

    the given block will be yield when a touch cancel event is received.

Returns:

  • (Scene)

    the receiver.



594
# File 'motion-game', line 594

def on_touch_cancel; end

#on_touch_end {|Events::Touch| ... } ⇒ Scene

Starts listening for touch end events on the receiver.

Yields:

  • (Events::Touch)

    the given block will be yield when a touch end event is received.

Returns:

  • (Scene)

    the receiver.



582
# File 'motion-game', line 582

def on_touch_end; end

#on_touch_move {|Events::Touch| ... } ⇒ Scene

Starts listening for touch move events on the receiver.

Yields:

  • (Events::Touch)

    the given block will be yield when a touch move event is received.

Returns:

  • (Scene)

    the receiver.



588
# File 'motion-game', line 588

def on_touch_move; end

#schedule(delay, repeat = 0, interval = 0) {|Float| ... } ⇒ String

Schedules a given block for execution.

Parameters:

  • delay (Float)

    the duration of the block, in seconds.

  • repeat (Integer) (defaults to: 0)

    the number of times the block should be repeated.

  • interval (Float) (defaults to: 0)

    the interval between repetitions, in seconds.

Yields:

  • (Float)

    the given block will be yield with the delta value, in seconds.

Returns:

  • (String)

    a token representing the task that can be passed to #unschedule when needed.



561
# File 'motion-game', line 561

def schedule(delay, repeat=0, interval=0); end

#start_updateScene

Starts the update loop. The #update method will be called on this object for every frame.

Returns:

  • (Scene)

    the receiver.



539
# File 'motion-game', line 539

def start_update; end

#stop_updateScene

Stops the update loop. The #update method will no longer be called on this object.

Returns:

  • (Scene)

    the receiver.



544
# File 'motion-game', line 544

def stop_update; end

#unschedule(key) ⇒ Scene

Unschedules a task that's currently running.

Parameters:

  • key (String)

    a token representing the task to unschedule, returned by #schedule.

Returns:

  • (Scene)

    the receiver.



567
# File 'motion-game', line 567

def unschedule(key); end

#update(delta) ⇒ Scene

The update loop method. Subclasses can provide a custom implementation of this method. The default implementation is empty.

Parameters:

  • delta (Float)

    a value representing the amount of time, in seconds, since the last time this method was called.

Returns:

  • (Scene)

    the receiver.



551
# File 'motion-game', line 551

def update(delta); end