NewFrameSheet |
FrameSheet = NewFrameSheet(ThisImage, FrameWidth, FrameHeight, TransparentColour, [FrameCount]) |
|
Parameters: ThisImage = The image you wish to grab the frames from FrameWidth = The Width of each frame FrameHeight= The Height of each frame TransparentColour = The MaskColour for this image image [FrameCount] = optional frame count
|
Returns:
FrameSheet = The index of the created frame sheet |
|
The NewFrameSheet functions scans through an existing image and cuts it up into a sequence of animation frames.
NewFrameSheet assumes the frames are arranged upon the image from the top left corner across ways, then stepping down row by row. The frames must be arranged in the order they are to be played back and all frames must have a uniform width and height.
FACTS:
* NewFrameSheet automatically deletes the passed image after the frames are created. * NewFrameSheet defaults to creating frames as video images. You can change this behavior using the FrameSheetCreationType function
|
|
Example Source: Download This Example ; include the frame sheet animation library #Include "FrameSheetAnims" ; Clear the screen to a blue colour, so we can see ; the frames better. Cls 255 ; Set Library to load animations frames as FX images, ; the library defaults to video images.. FrameSheetCreationType(2) ; load our frame sheet image into memory ThisImage=LoadNewFxImage(ProgramDir$()+"Help/Commands/Media/Animations/explosions.png") ; Load the Frame sheet FrameSheet=NewFrameSheet(Thisimage,64,64,RGB(0,0,0)) ; Display the loaded frame sheets INDEX Print "Index of FrameSheet:"+Str$(FrameSheet) ; display the status of this frame sheet ; (1= exist, 0 it doesn't) Print "Frame Sheet Status:"+Str$(GetFrameSheetStatus(FrameSheet)) ; Display the number of frames in this sheet Print "Frames In Sheet:"+Str$(GetFrameSheetCount(FrameSheet)) ; Draw the frames on the screen Ypos=100 CenterText 400,Ypos-20,"Frames in this frame sheet" ; run through this frame sheet and draw each frame to the screen For lp=0 To GetFrameSheetCount(FrameSheet)-1 ThisIMage=GetFrameSheetImage(FrameSheet,lp) DrawImage ThisImage,Xpos,Ypos,false Width=GetImageWidth(thisImage)+2 Xpos+=Width If (Xpos+Width)=>GetScreenWidth() Xpos=0 Ypos+=GetImageHeight(thisImage)+2 EndIf Next ; show the screen to the user and wait for a key press Sync WaitKey |
|