Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Turing Game Problem [Flashing screen with multiple loops]
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
sliverofshadows475




PostPosted: Mon Dec 08, 2008 1:23 pm   Post subject: Turing Game Problem [Flashing screen with multiple loops]

Hey guys, I have a problem with having multiple things in one loop process. I searched the site, and I looking briefly through topics that looked relevant, nothing seemed to help, so here I am asking you guys. Basically, what happens is:

When I run the program, the screen flashes a lot, I guess when it's repeatedly drawing the pictures. Here's my syntax.

Turing:

var mypic :int:= Pic.FileNew ("C:/Users/Owner/Documents/Turing 4.1.1/Final Summitive Evaluation/heavycruiser1.jpg")
var mypic2 :int:= Pic.FileNew ("C:/Users/Owner/Pictures/spaveinvaders101.jpg")
var mypic3 :int:= Pic.FileNew ("C:/Users/Owner/Pictures/spaveinvaders102.jpg")
var mypic4 :int:= Pic.FileNew ("C:/Users/Owner/Pictures/spaveinvaders103.jpg")
var mypic5 :int:= Pic.FileNew ("C:/Users/Owner/Pictures/spaveinvaders104.jpg")
var mypic6 :int:= Pic.FileNew ("C:/Users/Owner/Pictures/spaveinvaders105.jpg")
var x : int := 300
var y : int := 50
var x1 : int := 50
var y1 : int := 300
var keys : array char of boolean 

loop
    Input.KeyDown (keys)

    if keys (KEY_LEFT_ARROW) and x > 0 then
        x -= 1
    end if

    if keys (KEY_RIGHT_ARROW) and x < maxx then
        x += 1   
    end if
   
    if keys (' ') then
        drawline (x+10,510,x+10,95,red)
        delay(7)
        drawline (x+10,510,x+10,95,white)
    end if
    Pic.Draw (mypic,x-20,y-20,0)
    delay (4)
    Pic.Draw (mypic2,50,300,0)
    delay (4)
    Pic.Draw (mypic3,150,300,0)
    delay (4)
    Pic.Draw (mypic4,250,300,0)
    delay (4)
    Pic.Draw (mypic5,350,300,0)
    delay (4)
    Pic.Draw (mypic6,450,300,0)
    delay (4)
    cls
end loop 


Any help would be greatly appreciated. Thanks!

EDIT: I just found out about offscreenonly, but I'm not really sure of where to put View.Update...
Sponsor
Sponsor
Sponsor
sponsor
TheGuardian001




PostPosted: Mon Dec 08, 2008 3:08 pm   Post subject: Re: Turing Game Problem [Flashing screen with multiple loops]

What you're looking for is offscreen drawing. to use this, you need to things

code:

View.Set("offscreenonly")

this sets offscreen drawing mode. all images are drawn offscreen and are invisible to the user
and

code:

%all of your drawing code goes first
View.Update


this takes the everything that has been drawn offscreen and draws it as a solid image on screen where the user can see it.

You want this to come after you've drawn all of you're pictures, but before clearing the screen
Tony




PostPosted: Mon Dec 08, 2008 3:28 pm   Post subject: Re: Turing Game Problem [Flashing screen with multiple loops]

sliverofshadows475 @ Mon Dec 08, 2008 1:23 pm wrote:
I'm not really sure of where to put View.Update...

as TheGuardian001 points out, View.Update typically goes right before the cls.

The fact that you have multiple delays inside your loop, is not helping the issue of flickering. If you need to slow down the animation loop, use delay once.
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
sliverofshadows475




PostPosted: Mon Dec 08, 2008 7:12 pm   Post subject: Re: Turing Game Problem [Flashing screen with multiple loops]

Thanks guys, you've really helped me. Very Happy
syntax_error




PostPosted: Mon Dec 08, 2008 9:15 pm   Post subject: RE:Turing Game Problem [Flashing screen with multiple loops]

Just as a side note, you should keep all your pictures in one folder which contains the .t file as well, that way when you move your program as long as everything is in the folder its set to go.
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 5 Posts ]
Jump to:   


Style:  
Search: