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)
 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).
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 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_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

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


Généré le Tue Jan 30 23:10:51 2007 pour PAlib par  doxygen 1.3.9.1