découpage de sprites à la volée
Publié : lun. 31/oct./2005 22:26
Vous voulez découper une planche de sprites à la volée?
Voici une petite fonction qui pourrais vous être utile :
MultiGrabSprite(ImageFile$,TailleX.l,TailleY.l,IndexStart.l)
Par exemple si vous avez une planche de sprite qui fait 192*192 et que à l'intérieur de cette planche de sprite vous avec 9 animations d'une Taille de 64*64 :
MultiGrabSprite("MonImage.bmp",64,64,100)
Le premier Numéro du sprite découper sera 100 le dernier sera 109 !
Voilà j'éspère qu'il sera utile pour les débutants
Voici une petite fonction qui pourrais vous être utile :
MultiGrabSprite(ImageFile$,TailleX.l,TailleY.l,IndexStart.l)
- ImageFile$ Correspond au nom du bitmap à découper
TailleX,TailleY Correspond à la taille du découpage
IndexStart Numéro du premier sprite qui sera découper
Code : Tout sélectionner
Procedure MultiGrabSprite(ImageFile$,TailleX.l,TailleY.l,IndexStart.l)
Shared SpriteID.l
SpriteID = LoadSprite(#PB_Any,ImageFile$)
If SpriteID <> 0
UseBuffer(SpriteID)
For y = 0 To (SpriteHeight(SpriteID) / TailleX)-1
For x = 0 To (SpriteWidth(SpriteID) / TailleY)-1
GrabSprite(IndexStart, x*TailleX, y*TailleY, TailleX, TailleY)
IndexStart=IndexStart + 1
Next x
Next y
FreeSprite(SpriteID)
UseBuffer(-1)
Else
MessageRequester("Erreur","Fichier introuvable : " +ImageFile$)
EndIf
EndProcedure
MultiGrabSprite("MonImage.bmp",64,64,100)
Le premier Numéro du sprite découper sera 100 le dernier sera 109 !
Voilà j'éspère qu'il sera utile pour les débutants
