SpriteColourReplaceKey
SpriteColourReplaceKey SpriteIndex, ReplaceColour
 
Parameters:

    SpriteIndex = The identifier of the sprite you wish to change
    ReplaceColour = The RGB colour that colour replacement effects will replace
Returns: NONE
 

      SpriteColourReplaceKey sets the sprites replacement colour key. The key colour is then replaced with SpriteReplacementColour when the sprite is drawn in colour replace mode.




FACTS:


      * SpriteColourReplaceKey does not change the sprites image. The replacement occurs real time during rendering.


      * SpriteColourReplaceKey is only used when the sprites drawmode is set to a colour replacement mode.

      * See SpriteDrawMode for more information about sprite drawmodes.





Mini Tutorial:



 
Example Source: Download This Example
; Load Bubble Media which is located two folders back from
; this path.
  
  BubbleImage=LoadNewImage("..\../Media/bubble_64x64.bmp")
  PrepareFXImage BUbbleImage
  
  
; Get the replace colour key from the image
  RenderToImage BubbleImage
  ReplaceColour=Point(32,32)
  
  
; Redirect rendering back to the screen
  RenderToScreen
  
  
; Create a number of ranomdly positioned sprites
  
  
  For lp=1 To 25
   ; Get a random coord on the screen
     X=Rnd(GetScreenWidth())
     Y=Rnd(GetScreenHeight())
     
   ; Create a sprite
     Spr=NewSprite(X,y,BubbleImage)
     
   ; Center this sprites handle
     CenterSpriteHandle Spr
     
   ; Set this sprites drawmode to plain rotated
     SpriteDrawMode Spr, 2
     
     
     
   ; Set Colour to Replace in this sprite
     SpriteColourReplaceKey Spr, ReplaceColour
     
   ; Randomly set the this sprites replacement colour
     SpriteReplacementColour Spr, RndRGB()
     
  Next
  
  
; limit the program to a max of 100 frames per second
  SetFPS 100
  
  
  
  
  Do
   ; Clear the Screen
     Cls RGB(10,20,40)
     
     
   ; Get the Mouse Pointers Position
     mX=MouseX()
     mY=MouseY()
     
     
   ; Update the Sprites
     TurnSpeed#=1
     
     Sprite=GetFirstSprite()
     While Sprite
        
        
      ; check if the mouse pointer is hitting this sprite
        If PointHitSpritePixels(mx,my,sprite,1)=false
           
         ; Turn This sprite
           TurnSprite Sprite,TurnSpeed#
           
         ; Set this sprites drawmode to rotated with
         ; Alpha COlour Addition
           SpriteDrawMode Sprite, 2
           
        Else
           
         ; Set this sprites drawmode to rotated
         ; with Colour Replacement
           SpriteDrawMode Sprite, 2+16384
           
        EndIf
        
        
      ; Bump The Turn Speed
        TurnSpeed#=TurnSpeed#+0.25
        
        
        
      ; Get the NExt Sprite
        Sprite=GetNextSprite(Sprite)
     EndWhile
     
     
   ; Draw All The Sprites
     DrawAllSprites
     
     
   ; Display information
     Print "Move Mouse Over Sprites"
     
   ; Show the screen
     Sync
     
   ; Loop back to the Do statement to keep program running
  Loop
  
  
  
  
  
  
 
Related Info: SpriteDrawMode | SpriteRasterColourBuffer | SpriteReplacementColour :
 


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