This is how graphics should work:
View.Set ("offscreenonly") loop Draw background picture Draw foreground stuff View.Update end loop
In most cases, you must do it like this to avoid flicker.
Example: A moving circle:
View.Set ("offscreenonly") for count : 1 .. 600 drawfilloval (count, 200, 30, 30, red) View.Update delay (10) drawfilloval (count, 200, 30, 30, white) end for
There are some commands in the example that you are probably not familiar with. A for loop is a counted loop it runs for a certain number of times. So the statement "For count : 1..600" means that the loop will run from 1 to 600, and each time it runs it will store that value in the variable "count". So the first time it will run count will have a value of 1, the second time it will be 2 and so on. "drawfilloval" does exactly what it says it draws an oval and fills it with the color specified. Delay also does what it says it pauses the program for a certain amount of time specified in the bracket, 1000 is equal to 1 sec so in the example it is 10, so program pauses for 0.01 s. The pause is needed so the program wait before it draws the white oval on top of the red one.