CenterSpriteHandle
CenterSpriteHandle SpriteIndex
 
Parameters:

    SpriteIndex = The index of the sprite you wish to Center the sprite handle of
Returns: NONE
 

     CenterSpriteHandle will center a sprites image handles for the image that is currently assigned to the sprite.



FACTS:


     * Centres the sprites image handles around the current assigned image. To use this command correctly you must have previously assigned a sprite an image, then Center it's handle.

     * Also see AutoCenterSpriteHandle & SpriteHandle






Mini Tutorial:


      This example Creates a sprite, assigns it an image, Center the sprites handles for this image and display these values back to the user.


  
; Create Image  #10 of size 100x by 200y in pixels
  CreateImage 10,100,200
  
; Create Sprite #1
  CreateSprite 1
  
; Assign our created image to this sprite..
  SpriteImage 1,10
  
; Center this sprites handles for it's currently
; assigned image.
  CenterSpriteHandle 1
  
; Display this sprites image handle offsets
  Print GetSpriteHandleX(1)
  Print GetSpriteHandleY(1)
  
; Display the Screen and wait for the user to press a key
  Sync
  WaitKey
  



This example would output.

  
  -50
  -100
  

 
Example Source: Download This Example
;---------------------------------------------------------------------
; CentreSpriteHandle Example
;---------------------------------------------------------------------
  
; =========================================================
; First Create an Image with a random circle pattern on it.
; =========================================================
  Size=95
  Circle_Image=NewImage(Size,Size)
  RenderToImage Circle_Image
  Randomize 47
  For lp=size/2 To 1 Step -1
     CircleC Size/2,Size/2,lp,1,RndRGB()
  Next
  RenderToScreen
  
  
; =========================================================
; Create 5 sprites
; ========================================================
  NumberOfSprites=5
  For ThisSprite=1 To NumberOfSprites
   ;CReate this sprite
     CreateSprite ThisSprite
     
   ; Set each Sprite to use our circle image for it's artwork to display.
     SpriteImage ThisSprite,Circle_Image
     
   ; Randomly Centre a sprites handle for it's newly assigned image.
     If Rnd(1)=0
        CenterSpriteHandle ThisSprite
     EndIf
     
   ; Randomly position this sprite within the screen
     PositionSprite ThisSprite,Rnd(GetScreenWidth()-size),Rnd(GetScreenHeight()-size)
  Next
  
  
  
; Tell PB to limit speed of the program to 30 Frames (updates) per second or bellow
  SetFPS 30
  
  
  
; Start out update loop
  Do
   ; Clear the Screen to black   rgb(0,0,0)=black
     Cls RGB(0,0,0)
     
   ; Display a message
     Ink $ff00
     Print "Render Sprites Manually and display the effects of handles"
     Print "==========================================================="
     
     
   ; Manually run through our created sprites and render them.  Displaying the sprites
   ; POSITION and it's
     For lp =1 To NumberOfSprites
        
      ; DRaw this sprite
        DrawSprite lp
        
      ;Display a bound box around where sprite POSITION and image would be
      ; normally be..
        Ink RGB(0,255,0)
        w=GetSpriteWidth(lp)
        h=GetSpriteWidth(lp)
        
        x=GetSpriteX(lp)
        y=GetSpriteY(lp)
        
        Line x,y,x+w,Y
        Line x+w,y,x+w,Y+h
        Line x+w,y+h,x,Y+h
        Line x,y,x,Y+h
        
        Circle x,y,5,1
        Text x,y,"Sprite Axis:"+Str$(lp)
        
        
      ; Get Sprites Handle offset
        Hx=GetSpriteHandleX(lp)
        Hy=GetSpriteHandleY(lp)
        
      ; Display a bounding box around where the sprites image is drawn after applying
      ; the sprites handle offset..
        
        x=x+hx
        y=y+hy
        Ink RGB (255,255,255)
        Line x,y,x+w,Y
        Line x+w,y,x+w,Y+h
        Line x+w,y+h,x,Y+h
        Line x,y,x,Y+h
        
        Text x,y,"Sprite Handle: x:"+Str$(hx)+" y:"+Str$(hy)
        
     Next
     
     
   ; Display the screen and loop back to the DO statement to continue the loop
     Sync
  Loop
 
Related Info: AutoCenterSpriteHandle | GetSpriteHandleX | GetSpriteHandleY | SpriteHandle | SpriteImage :
 


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