GetSpriteScaleX
ScaleX# = GetSpriteScaleX(SpriteIndex)
 
Parameters:

    SpriteIndex = The number of the sprite you wish to query
Returns:

    ScaleX# = The Width scaler for this sprite
 

      The GetSpriteScaleX function returns the current amount of X scaling applied to a sprite.



FACTS:


      * See ScaleSprite to scale a sprite.





Mini Tutorial:


      This example is really 3 parts. The first part creates a image out of a triangle shape and a circle. Part 2 creates the sprite, the sprite is then set to render the previously created image as it's graphic to rotate. Part 3 is the main do/loop. Which scales the sprites width and height and then renders it

  
; ===========================
; Part 1 - Create our image
; ===========================
  
  Cls RGB(0,0,0)
  
; Create a Little triangle image
  Size=50
  CreateConvexShape 1,Size*0.50,3
  RotateShape 1,30,1
  DrawShape 1,Size/2,size/2,2
  CircleC size/2,size/2,size/5,1,RndRGB()
  CircleC size/4,size/4,size/6,1,RndRGB()
  
  MyImage=GetFreeImage()
  GetImage MyImage,0,0,size,size
  PrepareFXImage MyImage
  
  
; ===========================
; Part 2 - Create our sprites
; ===========================
  
; Create the Sprite
  CreateSprite 1
; set this sprite to use the previously created image
  SpriteImage 1,MyImage
; set the sprites drawing mode to ROTATION/SCALE (mode 2)
  SpriteDrawMode 1,2
; Position the sprite at 100,100
  PositionSprite 1,100,100
  
  
; ========================
; Part 3 - The main Loop
; ========================
  
; Start a do/loop
  Do
   ; clear the screen
     Cls RGB(0,0,0)
     
   ; bump the scaler angle
     Angle#=WrapAngle(angle#,1)
     
   ; Set Sprites 1's X scaling factor
     ScaleSpriteX 1,2+CosRadius(angle#,0.5)
     
   ; Set Sprites 1's Y scaling factor
     ScaleSpriteY 1,2+SinRadius(angle#,0.5)
     
   ; Display the current scaling of this sprite
     Print "Sprite Scaling Stuff"
     Print "Sprites Scale X:"+Str$(GetSpriteScaleX(1))
     Print "Sprites Scale Y:"+Str$(GetSpriteScaleY(1))
     
   ; Draw all the created sprites
     DrawAllSprites
     
   ; Draw the screen
     Sync
     
   ; Loop back to the DO statement
  Loop
  



This example would output.

  
  Sprites Scale X: 2.34
  Sprites Scale Y: 2.89
  


 
Related Info: ScaleSprite | ScaleSpriteX | ScaleSpriteXY | ScaleSpriteY | SpriteDrawMode :
 


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