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.



527
# File 'motion-game', line 527

def initialize(sprite_name); end

Instance Attribute Details

- (Integer) category_mask

Returns physics category mask.

Returns:

  • (Integer)

    physics category mask.



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

def category_mask
  @category_mask
end

- (Integer) collision_mask

Returns physics collision mask.

Returns:

  • (Integer)

    physics collision mask.



619
620
621
# File 'motion-game', line 619

def collision_mask
  @collision_mask
end

- (Integer) contact_mask

Returns physics contact test mask.

Returns:

  • (Integer)

    physics contact test mask.



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

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.



598
599
600
# File 'motion-game', line 598

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.



601
602
603
# File 'motion-game', line 601

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.



593
594
595
# File 'motion-game', line 593

def gravitates?
  @gravitates?
end

- (Float) inertia_moment

Returns the moment of inertia of the body.

Returns:

  • (Float)

    the moment of inertia of the body.



610
611
612
# File 'motion-game', line 610

def inertia_moment
  @inertia_moment
end

- (Float) mass

Returns the body mass of the sprite.

Returns:

  • (Float)

    the body mass of the sprite.



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

def mass
  @mass
end

- (Boolean) resting?

Returns whether the body is at rest.

Returns:

  • (Boolean)

    whether the body is at rest.



607
608
609
# File 'motion-game', line 607

def resting?
  @resting?
end

- (Point) velocity

Returns the velocity force on the sprite body.

Returns:

  • (Point)

    the velocity force on the sprite body.



604
605
606
# File 'motion-game', line 604

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)


517
# File 'motion-game', line 517

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:



564
# File 'motion-game', line 564

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:



583
# File 'motion-game', line 583

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:



578
# File 'motion-game', line 578

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:



573
# File 'motion-game', line 573

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:



551
# File 'motion-game', line 551

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:



538
# File 'motion-game', line 538

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:



544
# File 'motion-game', line 544

def move_to(location, interval); end