Difference between revisions of "Modules/game pawn"
From MSX Game Library
< Modules
Line 9: | Line 9: | ||
== Settings == | == Settings == | ||
<tt>GAMEPAWN_USE_PHYSICS</tt>: Include collision and physics handling functions. | <tt>GAMEPAWN_USE_PHYSICS</tt>: Include collision and physics handling functions. | ||
+ | |||
+ | == Examples == | ||
+ | |||
+ | === Define pawn's sprites === | ||
+ | |||
+ | Simple color sprite (1 layer): | ||
+ | <pre> | ||
+ | const Game_Sprite g_SpriteLayers[] = | ||
+ | { | ||
+ | { 0, 0, 0, COLOR_WHITE, 0 }, // Sprite position offset: 0,0. Pattern offset: 0. Color: White. No special flag | ||
+ | }; | ||
+ | </pre> | ||
+ | |||
+ | Two color sprite (2 layer): | ||
+ | <pre> | ||
+ | const Game_Sprite g_SpriteLayers[] = | ||
+ | { | ||
+ | { 0, 0, 0, COLOR_WHITE, 0 }, // Sprite position offset: 0,0. Pattern offset: 0. Color: White. No special flag | ||
+ | { 0, -8, 4, COLOR_GRAY, 0 }, // Sprite position offset: 0,-8. Pattern offset: 4. Color: Gray. No special flag | ||
+ | }; | ||
+ | </pre> | ||
+ | |||
+ | 3 layers sprite with auto-switch (to generate more color by flickering) | ||
+ | <pre> | ||
+ | // Pawn sprite layers | ||
+ | const Game_Sprite g_SpriteLayers[] = | ||
+ | { | ||
+ | { 0, 0, 0, COLOR_BLACK, PAWN_SPRITE_EVEN }, // Sprite used only on 'even' frame number | ||
+ | { 0, 0, 12, COLOR_BLACK, PAWN_SPRITE_ODD }, // Sprite used only on 'odd' frame number | ||
+ | { 0, 0, 4, COLOR_WHITE, 0 }, | ||
+ | { 0, 0, 8, COLOR_LIGHT_RED, 0 }, | ||
+ | }; | ||
+ | </pre> |
Revision as of 13:26, 10 February 2022
The game_pawn module handle character animation, rendering, collision and physics.
This module offer several structures the user can use to configure a pawn (a player, an enemy or event an item) for rendering (multi-layers and flip/flap) and movement.
Dependencies
Settings
GAMEPAWN_USE_PHYSICS: Include collision and physics handling functions.
Examples
Define pawn's sprites
Simple color sprite (1 layer):
const Game_Sprite g_SpriteLayers[] = { { 0, 0, 0, COLOR_WHITE, 0 }, // Sprite position offset: 0,0. Pattern offset: 0. Color: White. No special flag };
Two color sprite (2 layer):
const Game_Sprite g_SpriteLayers[] = { { 0, 0, 0, COLOR_WHITE, 0 }, // Sprite position offset: 0,0. Pattern offset: 0. Color: White. No special flag { 0, -8, 4, COLOR_GRAY, 0 }, // Sprite position offset: 0,-8. Pattern offset: 4. Color: Gray. No special flag };
3 layers sprite with auto-switch (to generate more color by flickering)
// Pawn sprite layers const Game_Sprite g_SpriteLayers[] = { { 0, 0, 0, COLOR_BLACK, PAWN_SPRITE_EVEN }, // Sprite used only on 'even' frame number { 0, 0, 12, COLOR_BLACK, PAWN_SPRITE_ODD }, // Sprite used only on 'odd' frame number { 0, 0, 4, COLOR_WHITE, 0 }, { 0, 0, 8, COLOR_LIGHT_RED, 0 }, };