Computer Science Canada

animation + proc problem

Author:  kyoshiro [ Sun Jan 11, 2004 12:19 pm ]
Post subject:  animation + proc problem

I've created an intro page for a program and it needs a bit of tweaking. One of the first problems is the buttonwait procedure. When i run my program it executes by calling specific procedures in order, however, the last procedure is called b4 the procedure b4 it was finished.

Quote:

% elevator intro page

setscreen ("graphics:640;480")
drawfill (1, 1, red, red)

%%%%%%%%%%%%%%%%%%%%%%%%
proc intro ()
var FontID, FontID2 : int
FontID := Font.New ("Arial:35:Italic,Bold,underline")
FontID2 := Font.New ("Arial:35:Italic,Bold,underline")

for decreasing x : 20 .. 15

Font.Draw ("The Elevator Program", 55 + x + 5, 340 + x + 5, FontID, x)
if x = 15 then
Font.Draw ("The Elevator Program", 55 + x + 5, 340 + x + 5, FontID2, white)
end if
delay (150)
end for

end intro
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
proc introfinal ()
var FontID, FontID2 : int
FontID := Font.New ("Arial:35:Italic,Bold,underline")
FontID2 := Font.New ("Arial:35:Italic,Bold,underline")

for decreasing x : 20 .. 15

Font.Draw ("The Elevator Program", 55 + x + 5, 340 + x + 5, FontID, x)
if x = 15 then
Font.Draw ("The Elevator Program", 55 + x + 5, 340 + x + 5, FontID2, white)
end if
end for
end introfinal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
proc movingbox
setscreen ("offscreenonly")
View.Update

for y : 1 .. 100 by 10
introfinal ()
drawfill (1, 1, red, red)
% a counted loop that is stored in the variable y
drawfillbox (240, 160 - y, 400, 320 - y, blue)
drawline (400, 160 - y, 440, 200 - y, blue)
drawline (400, 320 - y, 440, 360 - y, blue)
drawline (440, 200 - y, 440, 360 - y, blue)
drawline (240, 320 - y, 280, 360 - y, blue)
drawfill (420, 200 - y, brightblue, blue)
drawline (280, 360 - y, 440, 360 - y, blue)
drawfill (300, 350 - y, brightcyan, blue)
View.Update
cls
drawfill (1, 1, red, red)
delay (300)
%draws a box that look 3d and has different shades of blue
end for
introfinal ()
drawfillbox (240, 60, 400, 220, blue)
drawline (400, 60, 440, 100, blue)
drawline (400, 220, 440, 260, blue)
drawline (440, 100, 440, 260, blue)
drawline (240, 220, 280, 260, blue)
drawfill (420, 100, brightblue, blue)
drawline (280, 260, 440, 260, blue)
drawfill (300, 250, brightcyan, blue)

end movingbox

proc button1 ()
var FontID : int
FontID := Font.New ("Arial:25:Italic,Bold")
drawbox (500, 50, 600, 100, black)

Font.Draw ("Start", 512, 65, FontID, black)


var x, y, bud, bnum, num1, num2 : int := 0

buttonwait ("up", x, y, bud, bnum)

if x >= 500 and x <= 600 and y >= 50 and y <= 100 then
cls
end if
end button1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%END OF PROCEDURES%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%THE CALLING OF PROCS%%

intro ()
movingbox ()
button1 ()


For instance, when i call movingbox() it executes, the box is supposed to move down and draw a button. Then After that is done, it supposed to call button1(); however, b4 the moving box finishes and draws the button, the buttonwait is excuted. When i press outside the button (which isnt drawn yet) it then draws the button -.-;! plx help

Author:  CITC [ Sun Jan 11, 2004 7:29 pm ]
Post subject: 

whats your question?

Author:  kyoshiro [ Mon Jan 12, 2004 10:06 pm ]
Post subject: 

why does buttonwait occur b4 the button is drawn.. my teacher and i cannot get it to work. could it be a problem in the compiles Turing 4.0.3

Author:  DanShadow [ Tue Jan 13, 2004 8:57 am ]
Post subject: 

I dont see any buttonwait commands....maybe put it in bold?


: