Class: MG::Sprite

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

Properties (collapse)

Attributes inherited from Node

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

Spritesheets (collapse)

Constructors (collapse)

Actions (collapse)

Physics (collapse)

Methods inherited from Node

#add, #children, #clear, #delete, #delete_from_parent, #intersects?, #parent

Constructor Details

- (Sprite) initialize(sprite_name)

Creates a new sprite object from sprite_name, which must be either the name of a standalone image file in the application's resource directory or the name of a sprite frame which was loaded from a spritesheet using load.

Parameters:

  • sprite_name (String)

    the name of the sprite to create.



454
# File 'motion-game', line 454

def initialize(sprite_name); end

Instance Attribute Details

- (Integer) category_mask

Returns physics category mask.

Returns:

  • (Integer)

    physics category mask.



540
541
542
# File 'motion-game', line 540

def category_mask
  @category_mask
end

- (Integer) collision_mask

Returns physics collision mask.

Returns:

  • (Integer)

    physics collision mask.



546
547
548
# File 'motion-game', line 546

def collision_mask
  @collision_mask
end

- (Integer) contact_mask

Returns physics contact test mask.

Returns:

  • (Integer)

    physics contact test mask.



543
544
545
# File 'motion-game', line 543

def contact_mask
  @contact_mask
end

- (Boolean) dynamic?

Returns whether the sprite body should be dynamic or not in the physics world. The default is true, and a dynamic body will affect with gravity.

Returns:

  • (Boolean)

    whether the sprite body should be dynamic or not in the physics world. The default is true, and a dynamic body will affect with gravity.



525
526
527
# File 'motion-game', line 525

def dynamic?
  @dynamic?
end

- (Float) friction

Returns the linear damping / air friction force on the sprite body.

Returns:

  • (Float)

    the linear damping / air friction force on the sprite body.



528
529
530
# File 'motion-game', line 528

def friction
  @friction
end

- (Boolean) gravitates?

Returns whether the sprite should be affected by the scene's gravitational force. The default is true.

Returns:

  • (Boolean)

    whether the sprite should be affected by the scene's gravitational force. The default is true.



520
521
522
# File 'motion-game', line 520

def gravitates?
  @gravitates?
end

- (Float) inertia_moment

Returns the moment of inertia of the body.

Returns:

  • (Float)

    the moment of inertia of the body.



537
538
539
# File 'motion-game', line 537

def inertia_moment
  @inertia_moment
end

- (Float) mass

Returns the body mass of the sprite.

Returns:

  • (Float)

    the body mass of the sprite.



516
517
518
# File 'motion-game', line 516

def mass
  @mass
end

- (Boolean) resting?

Returns whether the body is at rest.

Returns:

  • (Boolean)

    whether the body is at rest.



534
535
536
# File 'motion-game', line 534

def resting?
  @resting?
end

- (Point) velocity

Returns the velocity force on the sprite body.

Returns:

  • (Point)

    the velocity force on the sprite body.



531
532
533
# File 'motion-game', line 531

def velocity
  @velocity
end

Class Method Details

+ (nil) load(file_name)

Loads all sprites from the content of file_name, which should be the name of a property list spritesheet file in the application's resource directory. Once a spritesheet file is loaded, individual sprites can be created using #initialize by providing the name of the frame. Sprite frames files can be created with a visual editor such as TexturePacker.

Parameters:

  • file_name (String)

    the name of the sprite frames property list file.

Returns:

  • (nil)


444
# File 'motion-game', line 444

def self.load(file_name); end

Instance Method Details

- (Sprite) animate(frame_names, delay, loops = 1)

Starts an animation where the sprite display frame will be changed to the given frames in sprite_frames_names based on the given delay and repeated loops times.

Parameters:

  • frame_names (Array<String>)

    an array of sprite frames to load and use for the animation, which can be either the names of standalone image files in the application's resource directory or the names of sprite frames loaded from a spritesheet using load.

  • delay (Float)

    the delay in seconds between each frame animation.

  • loops (Integer, Symbol) (defaults to: 1)

    the number of times the animation should loop. If given the :forever symbol, the animation will loop forever.

Returns:



491
# File 'motion-game', line 491

def animate(frame_names, delay, loops=1); end

- (Sprite) apply_force(force)

Applies an immediate force to the sprite body.

Parameters:

  • force (Point)

    the force to apply.

Returns:



510
# File 'motion-game', line 510

def apply_force(force); end

- (Sprite) apply_impulse(force)

Applies a continuous force to the sprite body.

Parameters:

  • force (Point)

    the force to apply.

Returns:



505
# File 'motion-game', line 505

def apply_impulse(force); end

- (Sprite) attach_physics_box(size = nil)

Attaches a physics body with a box shape to the sprite.

Parameters:

  • size (Size) (defaults to: nil)

    the size of the box. If nil is given, the size of the sprite, retrieved with Node#size, will be used instead.

Returns:



500
# File 'motion-game', line 500

def attach_physics_box(size=nil); end

Blinks the receiver.

Parameters:

  • number_of_blinks (Integer)

    the number of times the receiver should blink.

  • interval (Float)

    the animation interval.

Returns:



478
# File 'motion-game', line 478

def blink(number_of_blinks, interval); end

- (Sprite) move_by(delta_location, interval)

Moves the position of the receiver to a new location determined by the sum of the current location and the given delta_location object.

Parameters:

  • delta_location (Point)

    a point that will be added to the receiver's current location.

  • interval (Float)

    the animation interval.

Returns:



465
# File 'motion-game', line 465

def move_by(delta_location, interval); end

- (Sprite) move_to(location, interval)

Moves the position of the receiver to a new given location.

Parameters:

  • location (Point)

    where the receiver should be moved to.

  • interval (Float)

    the animation interval.

Returns:



471
# File 'motion-game', line 471

def move_to(location, interval); end