TI-BASIC:Xlib Greyscale

From Learn @ Cemetech
Jump to navigationJump to search

With xLib grayscale is very easy and good. You might think now: Basic? Grayscale? I couldn't find a xLib command that does that? Then your right: there is not such a command. You'll have to trick a bit for it with recalling a pic very often in XOR-logic, so inversion. So you have a normal screen and a other image that is recalled in XOR often.

For example, your screen is like this: [1] This is in pic 1: [2]

Then you have this code:

:DelVar A
:Repeat A
:real(3,1,3,1,1
:getKey->A
:End

And till you press a key the screen will be like this: [3]

Ok, as you may notice the image in pic 1 is very often recalled in XOR-logic, and that seems then as grey scale.

Now some training: Try to make this sprite: [4]

Ok, the image that inverts everything is obvious, because it is just everywhere where it is supposed to be grey: [5]

More complicated is the image that should be displayed a the beginning. You might think of this: [6] It would work out, but the grey wouldn't look to good.

Better is this: [7] because of the checked tiles it seems better to the eye, it is a optical solution. So if you have dcs the code to display that in grey till a key is pressed would be:


:real(0,0  //clears the screen
:identity(5,"00003C3C3C3C0000",0,0,1,8,0,0,0  //draws the sprite that will invert the screen
:identity(1,1,1  //saves it in pic 1
:real(0,0  //clears the screen
:identity(5,"FF81A995A99581FF",0,0,1,8,0,0,0  //the sprite, the grey thing is checked
:Repeat Ans  //repeats till something is in Ans
:real(3,1,3,1,1  //inverts the screen with pic 1
:getKey  //puts the Key in Ans
:End