head 1.1; branch 1.1.1; access ; symbols start:1.1.1.1 PAlibDoc:1.1.1; locks ; strict; comment @# @; 1.1 date 2005.11.02.08.30.35; author jandujar; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2005.11.02.08.30.35; author jandujar; state Exp; branches ; next ; desc @@ 1.1 log @Initial revision @ text @ PA_lib: Key input system

Key input system


Macros

#define PA_MoveSprite(sprite)   PA_MoveSpriteEx(PA_Screen, sprite, PA_GetSpriteLx(0, sprite), PA_GetSpriteLy(0, sprite))
 Déplacer un sprite en fonction du stylet. Le sprite sera accroché si le stylet passe aud-dessus, puis il sera déplacé en fonction... Donne 1 si on a déplacé ce sprite, sinon 0. On peut ensuite récupérer des infos avec PA_MovedSprite.Moving (1 si on déplace un sprite), .Sprite (numéro du sprite déplacé), .X (position X du centre du sprite), .Y (position Y du centre du sprite déplacé), .Vx (vitesse horizontale du sprite déplacé !! Utile si l'on veut que le sprite continue à se déplacer par la suite...), et .Vy
#define PA_SpriteTouched(sprite)   PA_SpriteTouchedEx(sprite, PA_GetSpriteLx(PA_Screen, sprite), PA_GetSpriteLy(PA_Screen, sprite))
 Vérifie si l'on touche un sprite donné. Renvoie 1 si touché...
#define PA_StylusInZone(x1, y1, x2, y2)   ((Stylus.X>=x1)&&(Stylus.Y>=y1)&&(Stylus.X<x2)&&(Stylus.Y<y2))
 Vérifie si le stylet est dans une zone délimitée donnée... Renvoie 1 si oui, 0 sinon

Fonctions

void PA_UpdatePad (void)
 Permet de mettre à jour les touches appuyées. A utilisé une fois par frame (genre dans le vbl). On a ensuite accès aux touches pressées avec Pad.Held.A (ou Up, Down, L...), aux touches nouvellement pressées avec Pad.Newpress.R, et aux touches tout juste relachées avec Pad.Released.Up...
void PA_UpdateStylus (void)
 Mettre à jour la position du stylet. On peut vérifier si le stylet est actuellement sur l'écran (Stylus.Held), tout just appuyé (Stylus.Newpress), ou relaché (Stylus.Released), et obtenir sa position (Stylus.X, Stylus.Y).
bool PA_MoveSpriteEx (bool screen, u8 sprite, u8 lx, u8 ly)
 Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la largeur et la hauteur du sprite, utile si le sprite ne fait pas vraiment la meme taille que la taille standard DS (genre si c'est un sprite de 20x20). Ceci limitera donc aussi la distance d'accrochage
bool PA_MoveSpriteDistance (u8 sprite, u8 distance)
 Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la distance d'accrochage, en pixels
void PA_UpdateMoveSprite (void)
 Met à jour les infos de déplacement de sprites... Si on ne met pas ca dans le VBL (c'est déjà dans PA_InitVBL), alors on risque de ne pas pouvoir déplacer d'autre sprite...
bool PA_SpriteTouchedEx (u8 sprite, u8 lx, u8 ly)
 Vérifie si l'on touche un sprite donné. Renvoie 1 si touché... On peut choisir la hauteur et la largeur autour du sprite

Description détaillée

Check which keys are pressed...

Documentation des macro

#define PA_MoveSprite sprite   )     PA_MoveSpriteEx(PA_Screen, sprite, PA_GetSpriteLx(0, sprite), PA_GetSpriteLy(0, sprite))
 

Déplacer un sprite en fonction du stylet. Le sprite sera accroché si le stylet passe aud-dessus, puis il sera déplacé en fonction... Donne 1 si on a déplacé ce sprite, sinon 0. On peut ensuite récupérer des infos avec PA_MovedSprite.Moving (1 si on déplace un sprite), .Sprite (numéro du sprite déplacé), .X (position X du centre du sprite), .Y (position Y du centre du sprite déplacé), .Vx (vitesse horizontale du sprite déplacé !! Utile si l'on veut que le sprite continue à se déplacer par la suite...), et .Vy

Paramètres:
sprite Numéro de l'objet dans le systeme de sprite

#define PA_SpriteTouched sprite   )     PA_SpriteTouchedEx(sprite, PA_GetSpriteLx(PA_Screen, sprite), PA_GetSpriteLy(PA_Screen, sprite))
 

Vérifie si l'on touche un sprite donné. Renvoie 1 si touché...

Paramètres:
sprite Numéro du sprite dans le systeme de sprite

#define PA_StylusInZone x1,
y1,
x2,
y2   )     ((Stylus.X>=x1)&&(Stylus.Y>=y1)&&(Stylus.X<x2)&&(Stylus.Y<y2))
 

Vérifie si le stylet est dans une zone délimitée donnée... Renvoie 1 si oui, 0 sinon

Paramètres:
x1 Valeur X du coin supérieur gauche
y1 Valeur Y du coin supérieur gauche
x2 Valeur X du coin inférieur droit
y2 Valeur Y du coin inférieur droit


Documentation des fonctions

bool PA_MoveSpriteDistance u8  sprite,
u8  distance
 

Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la distance d'accrochage, en pixels

Paramètres:
sprite Numéro de l'objet dans le systeme de sprite
distance Distance d'accrochage

bool PA_MoveSpriteEx bool  screen,
u8  sprite,
u8  lx,
u8  ly
 

Déplacer un sprite en fonction du stylet. Voir PA_MoveSprite pour plus de détails. La différence est qu'ici on précise la largeur et la hauteur du sprite, utile si le sprite ne fait pas vraiment la meme taille que la taille standard DS (genre si c'est un sprite de 20x20). Ceci limitera donc aussi la distance d'accrochage

Paramètres:
screen Sur quel écran le faire...
sprite Numéro de l'objet dans le systeme de sprite
lx Largeur du sprite
ly Hauteur du sprite

inline bool PA_SpriteTouchedEx u8  sprite,
u8  lx,
u8  ly
[inline]
 

Vérifie si l'on touche un sprite donné. Renvoie 1 si touché... On peut choisir la hauteur et la largeur autour du sprite

Paramètres:
sprite Numéro du sprite dans le systeme de sprite
lx Largeur
ly Hauter


Généré le Fri Oct 28 23:18:14 2005 pour PA_lib par  doxygen 1.3.9.1
@ 1.1.1.1 log @Initial import of PalibDoc, begin on PAlib0.64b @ text @@