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
  
  
  
  
  
 
Related Info: LoadFrameSheet :
 


(c) Copyright 2002 - 2024 - Kevin Picone - PlayBASIC.com