Difference between revisions of "Sprite"
Jump to navigation
Jump to search
(9 intermediate revisions by 2 users not shown) | |||
Line 14: | Line 14: | ||
|- | |- | ||
| [[Sprite.y]] || vertical position of the sprite | | [[Sprite.y]] || vertical position of the sprite | ||
+ | |- | ||
+ | | [[Sprite.scale]] || sprite scale (default 1.0) | ||
+ | |- | ||
+ | | [[Sprite.rotation]] || sprite rotation (degrees counter-clockwise) | ||
+ | |- | ||
+ | | [[Sprite.tint]] || tint color (defaults to white) | ||
|- | |- | ||
| [[Sprite.localBounds]] || stores the local bounds of the sprite | | [[Sprite.localBounds]] || stores the local bounds of the sprite | ||
Line 23: | Line 29: | ||
| [[Sprite.overlaps]](''other'') || return whether this sprite is touching another sprite or [[Bounds]] | | [[Sprite.overlaps]](''other'') || return whether this sprite is touching another sprite or [[Bounds]] | ||
|- | |- | ||
− | | [[Sprite. | + | | [[Sprite.corners]] || return <c>[x,y]</c> screen positions of the four corners of this sprite, counter-clockwise from bottom left |
+ | |- | ||
+ | | [[Sprite.setCorners]] ''corners''|| set new screen positions for the four sprite corners (counter-clockwise from bottom left) | ||
|- | |- | ||
|} | |} | ||
+ | == Usage Notes (Soda) == | ||
+ | |||
+ | In [[Soda]] there is currently only one, implicit, [[Display]]. So to add sprites to this display, push them onto a global list called <c>sprites</c>. | ||
+ | [[Soda]] does not currently support [[Sprite.corners]] or [[Sprite.setCorners]]. | ||
== Example == | == Example == | ||
Line 42: | Line 54: | ||
yield | yield | ||
end for</ms> | end for</ms> | ||
+ | |||
+ | == See also == | ||
+ | |||
+ | * [[How to move a sprite forward]] | ||
+ | * [[How to detect a click on a sprite]] | ||
+ | * [[How to move a sprite with directional inputs]] | ||
+ | * [[How to load a sprite from the web]] | ||
+ | * [[How to make a sprite translucent]] | ||
+ | * [[How to move a sprite towards a target]] | ||
+ | * [[How to point a sprite at a target]] | ||
[[Category: Mini Micro]] | [[Category: Mini Micro]] | ||
+ | [[Category: Soda]] |
Latest revision as of 20:40, 28 February 2022
Sprite
is a built-in class in the Mini Micro API. It represents an image which can be added to a SpriteDisplay, enabling it to be drawn to the screen very efficiently while also being scaled, rotated, or tinted, and layered consistently with other sprites and the surrounding displays.
Contents
Methods and properties used with Sprite objects
Use these methods on Sprite instances, created with new Sprite
.
Method or Property | Purpose |
---|---|
Sprite.image | image displayed by the sprite |
Sprite.x | horizontal position of the sprite |
Sprite.y | vertical position of the sprite |
Sprite.scale | sprite scale (default 1.0) |
Sprite.rotation | sprite rotation (degrees counter-clockwise) |
Sprite.tint | tint color (defaults to white) |
Sprite.localBounds | stores the local bounds of the sprite |
Sprite.worldBounds | computes world bounds from local bounds and current position |
Sprite.contains(x, y) | return whether the sprite contains the given world point |
Sprite.overlaps(other) | return whether this sprite is touching another sprite or Bounds |
Sprite.corners | return [x,y] screen positions of the four corners of this sprite, counter-clockwise from bottom left
|
Sprite.setCorners corners | set new screen positions for the four sprite corners (counter-clockwise from bottom left) |
Usage Notes (Soda)
In Soda there is currently only one, implicit, Display. So to add sprites to this display, push them onto a global list called sprites
.
Soda does not currently support Sprite.corners or Sprite.setCorners.
Example
This example creates a sprite, loads it into display 4 (which by default is a SpriteDisplay), and rotates it through 360 degrees.
spr = new Sprite
spr.image = file.loadImage("/sys/pics/Wumpus.png")
display(4).sprites.push spr
spr.x = 480
spr.y = 320
for r in range(0,360)
spr.rotation = r
yield
end for