Colour Flash
Blitz3D Forums/Blitz3D Beginners Area/Colour Flash
| ||
| Is there any way that I can flash (or colour cycle) a particular colour. Lets say, for instance, that I have a grid of lines, and I plot this to a buffer that is then copied to the backbuffer on every frame. The grid is not re-drawn on every frame, but I would like to cycle the colours in the line that make up the grid. I know that I could do it by re-plotting in adifferent colour, but I don't want to do that. Thanks, Zoot |
| ||
| it's not possible to cycle colors in blitz,so you have to redraw the grid each frames if you wan't to change the color. sorry but the only way i know to do such a thing is the folowing example make an image[buffer1] the size of the grid draw the grid in blue on a black background setmask the image to blue make a second picture[buffer2] the same size and set themask to black then do this each frame setbuffer imagebuffer(buffer2) clscolor r,g,b ;your color cycling colors cls drawimage buffer1,0,0;this draw the grid with the grid as transparent color so that leave a black screen with only the grid in the color used by clscolor (your cycling color) setbuffer frontbuffer() drawimage buffer2,0,0;this draw the grid with the black as transparent color on top of your gfx so you'll have your grid in the color you wan't flip ![]() i don't know if it's what you wanted :) |
| ||
here's the complete example code
Graphics 800,600,32,3
;create the buffers
buffer1=CreateImage(800,600):MaskImage buffer1,0,0,255
buffer2=CreateImage(800,600):MaskImage buffer2,0,0,0
;create the grid
SetBuffer(ImageBuffer(buffer1))
Color 0,0,255
For x=0 To 800 Step 16
Line x,0,x,600
Line 0,x,800,x
Next
Repeat
Text Rand(800),Rand(600),"just a test"
SetBuffer ImageBuffer(buffer2)
ClsColor Rand(255),Rand(255),Rand(255)
Cls
DrawImage buffer1,0,0
SetBuffer FrontBuffer()
DrawImage buffer2,0,0
Flip
Until KeyDown(1)
hope you like :) |
| ||
| Thanks - very nice. It will do just what I wanted. Top man! |
