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_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)
u8 PA_MoveSpritePix (u8 sprite)
 Déplacer un sprite en fonction du stylet, avec détection au pixel pret. Ceci est comme PA_MoveSprite, mais un peu plus lent, et nécessite PA_InitSpriteDraw(screen, sprite). 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 coin sup gauche du sprite), .Y (position Y du point sup gauche 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.
u8 PA_MoveSpriteEx (u8 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.
u8 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.
u8 PA_SpriteStylusOverEx (u8 sprite, u8 lx, u8 ly)
 Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non).
u8 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.
u8 PA_SpriteTouched (u8 sprite)
 Vérifie si l'on touche un sprite donné. Renvoie 1 si touché...
u8 PA_SpriteStylusOver (u8 sprite)
 Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non).
u8 PA_SpriteTouchedPix (u8 sprite)
u8 PA_Sprite16cTouchedPix (u8 sprite)

Description détaillée

Check which keys are pressed...

Documentation des 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.

Paramètres:
sprite Numéro de l'objet 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

u8 PA_MoveSpriteDistance ( u8  sprite,
u8  distance 
) [inline]

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

u8 PA_MoveSpriteEx ( u8  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

u8 PA_MoveSpritePix ( u8  sprite  ) 

Déplacer un sprite en fonction du stylet, avec détection au pixel pret. Ceci est comme PA_MoveSprite, mais un peu plus lent, et nécessite PA_InitSpriteDraw(screen, sprite). 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 coin sup gauche du sprite), .Y (position Y du point sup gauche 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

u8 PA_Sprite16cTouchedPix ( u8  sprite  )  [inline]

inline u8 PA_SpriteStylusOver ( u8  sprite  )  [inline]

Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non).

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

inline u8 PA_SpriteStylusOverEx ( u8  sprite,
u8  lx,
u8  ly 
) [inline]

Vérifie si le stylet est placé au-dessus d'un sprite donné (que le stylet touche l'écran ou non).

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

inline u8 PA_SpriteTouched ( u8  sprite  )  [inline]

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

inline u8 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

u8 PA_SpriteTouchedPix ( u8  sprite  )  [inline]

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   ) 


Généré le Sat Jun 13 12:57:00 2009 pour PAlib - Programmer's Arsenal par  doxygen 1.5.8