Colour Flash

Blitz3D Forums/Blitz3D Beginners Area/Colour Flash

Mental Image(Posted 2003) [#1]
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


ford escort(Posted 2003) [#2]
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 :)


ford escort(Posted 2003) [#3]
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 :)


Mental Image(Posted 2003) [#4]
Thanks - very nice. It will do just what I wanted. Top man!