MOVESPRITE |
Déplacement de sprite |
---|---|
G-Pascal |
Syntaxe
PROCEDURE MOVESPRITE(spritenumber, x,y, xincrement, yincrement, moves:INTEGER); |
Description
Cette procédure permet de déplacer un sprite.
Remarques
- Cette procédure permet donc les opérations suivantes : positionne le sprite nominé à la coordonnée x et y désignée, active le sprite pour qu'il soit visible, met son SPRITESTATUS à 1 pour indiquer qu'il se déplace, le déplacement par les temps de «mouvements» des incréments nommés, lorsqu'il a bougé le nombre de fois désigné, arrête le mouvement du sprite et met son SPRITESTATUS à 0 pour indiquer qu'il a fini de bouger.
- Le sprite aurait dû être pointé vers une définition de sprite ou une procédure ANIMATESPRITE donnée pour le sprite. Le mouvement de l'image-objet est effectué par des routines «entraînées par interruption» désynchronisé avec votre programme. Tout ce que le programme a à faire est de vérifier son SPRITESTATUS pour savoir s'il a terminé son mouvement prévu ou non. Il n'est pas nécessaire d'attendre que le sprite cesse de bouger avant de faire autre chose avec le sprite. Il peut être arrêté avec la procédure STOPSPRITE le figeant où qu'il se trouve actuellement à l'écran. Il peut être masqué en le désactivant (exemple : «SPRITE(5, ACTIVE, NO);»). Alternativement, une autre procédure MOVESPRITE peut être donnée en annulant la procédure la commande actuelle. L'incrémentation x et l'incrémentation y sont spécifiés au 1/256 d'une position de sprite. C'est pour permettre un réglage très fin de la vitesse à laquelle un sprite se déplace. Par exemple, un incrément de 256 signifie que l'image-objet se déplacera exactement d'un pixel par image (une image représente environ 1/60 de seconde). Une incrémentation de 1024 signifie que l'image-objet semble un peu saccadée. Une incrémentation de 1 signifie que l'image-objet se déplace d'un pixel toutes les 256 images (environ 5 secondes). Une incrémentation de zéro signifie que le sprite ne bougera pas dans le sprite se déplacera avant de s'arrêter automatiquement. Lorsque le nombre de mouvements a été atteint, le sprite est arrêté et son SPRITESTATUS mis à zéro pour que le programme sache que le sprite est arrêté et son SPRITESTATUS mis à zéro pour que le programme sache que le sprite s'est arrêté.
- Notez que cela ne signifie pas que le sprite devient invisible - il s'arrête juste de bouger. Le nombre maximum de déplacements pouvant être spécifié est 32768. La position du sprite à tout moment peut être établie par les fonctions SPRITEX et SPRITEY.
Dernière mise à jour : Samedi, le 11 Juillet 2020