Sprite Variables

For the corresponding sprite functions go here

Sprites are visual elements that can be assigned images, layered, and manipulated. They're similar to entities in some ways, but they don't require a map, and are generated completely from scripts. These have a variety of uses, like rain effects or layering clothes on top of an entity.

Sprites have plenty of variables to manipulate them. They define the rendering and processing behaviour of each sprite handle.

int sprite.x[sprite], sprite.y[sprite];
int sprite.sc[sprite];
int sprite.image[sprite];
int sprite.lucent[sprite];
int sprite.alphamap[sprite];
int sprite.addsub[sprite];
string sprite.thinkproc[sprite];
int sprite.thinkrate[sprite];
int sprite.ent[sprite];
int sprite.silhouette[sprite];
int sprite.color[sprite];
int sprite.wait[sprite];
int sprite.onmap[sprite];
int sprite.layer[sprite];
int sprite.timer[sprite];

sprite.x, sprite.y - The position of the sprite. Depending on other settings, this may be relative to the screen, the map, an entity or even something else.

sprite.sc - If set to 1, the sprite's (x, y) will be a position on the screen. If set to 0, the sprite's position is relative to the map.

sprite.image - When assigned a value other 0, a sprite is considered "active". Otherwise, any sprite with the number 0 for an image could be returned by GetSprite() (so in other words, free a sprite by setting its image to 0). The sprite's image must be a valid image reference. The image assigned is the image that will be displayed.

sprite.lucent - The transparency amount for the sprite. [0-100]

sprite.addsub - Determines whether to blit a sprite normally, additively, or subtractively. (-1 = subtractive, 0 = normal, 1 = additive)

sprite.alphamap - If this is 0, the sprite is drawn normally. Otherwise, it takes a valid greyscale image reference as an alpha map and AlphaBlits accordingly. Note that this has priority over additive/subtractive/normal blitting when set.

sprite.thinkrate - The delay, in ticks, between each call to a sprite's "think" procedure.

sprite.thinkproc - The function for Verge to call every time a sprite gets updated.

sprite.xflip - Whether or not to flip the sprite horizontally. (not implemented yet)

sprite.yflip - Whether or not to flip the sprite vertically. (not implemented yet)

sprite.ent - If this number isn't -1, it specifies the entity index to attach the sprite to. All x, y becomes relative to the sprite's hotspot.

sprite.silhouette - Whether or not to draw a the sprite as a silhouette.

sprite.color - What color to draw the silhouette, if the sprite is being drawn as one.

sprite.wait - The delay before this sprite appears on screen and begins to be processed. Defaults to 0, which is instantly after they're made. Useful for queueing sprite events in advance.

sprite.onmap - Whether or not this entity is bound to a map layer

sprite.layer - If map-bound: The layer to be drawn above. If entity-bound: 0 = below ent, 1 = above ent. Otherwise, does nothing.

sprite.timer - Duration that this sprite has been active.

Stay tuned for more!


There are no talkbacks on this documentation page yet. Post the first?

Post a new comment?

Ben McGraw's lovingly crafted this website from scratch for years.
It's a lot prettier this go around because of Jon Wofford.
Verge-rpg.com is a member of the lunarnet irc network, and would like to take this opportunity to remind you that regardless how babies taste, it is wrong to eat them.