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.



499
# File 'motion-game', line 499

def initialize(sprite_name); end

Instance Attribute Details

- (Integer) category_mask

Returns physics category mask.

Returns:

  • (Integer)

    physics category mask.



585
586
587
# File 'motion-game', line 585

def category_mask
  @category_mask
end

- (Integer) collision_mask

Returns physics collision mask.

Returns:

  • (Integer)

    physics collision mask.



591
592
593
# File 'motion-game', line 591

def collision_mask
  @collision_mask
end

- (Integer) contact_mask

Returns physics contact test mask.

Returns:

  • (Integer)

    physics contact test mask.



588
589
590
# File 'motion-game', line 588

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.



570
571
572
# File 'motion-game', line 570

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.



573
574
575
# File 'motion-game', line 573

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.



565
566
567
# File 'motion-game', line 565

def gravitates?
  @gravitates?
end

- (Float) inertia_moment

Returns the moment of inertia of the body.

Returns:

  • (Float)

    the moment of inertia of the body.



582
583
584
# File 'motion-game', line 582

def inertia_moment
  @inertia_moment
end

- (Float) mass

Returns the body mass of the sprite.

Returns:

  • (Float)

    the body mass of the sprite.



561
562
563
# File 'motion-game', line 561

def mass
  @mass
end

- (Boolean) resting?

Returns whether the body is at rest.

Returns:

  • (Boolean)

    whether the body is at rest.



579
580
581
# File 'motion-game', line 579

def resting?
  @resting?
end

- (Point) velocity

Returns the velocity force on the sprite body.

Returns:

  • (Point)

    the velocity force on the sprite body.



576
577
578
# File 'motion-game', line 576

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)


489
# File 'motion-game', line 489

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:



536
# File 'motion-game', line 536

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:



555
# File 'motion-game', line 555

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:



550
# File 'motion-game', line 550

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:



545
# File 'motion-game', line 545

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:



523
# File 'motion-game', line 523

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:



510
# File 'motion-game', line 510

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:



516
# File 'motion-game', line 516

def move_to(location, interval); end