pang tee
Tue, 27 Dec 2005 18:32:57 -0800
There are various ways to do what you want. The example below uses an HBox.I would suggest reading more about different containers and see what suits you bestfor your application. The other choices could be a say a Canvas or a Grid.{curl 4.0 applet}
{curl-file-attributes character-encoding = "windows-latin-1"}
{applet
{compiler-directives careful? = true}
}{let c1:Canvas =
{Canvas width = 6in, height = 5in, border-width = 1pt, background = ""}
}
{value c1}{let message1:EllipseGraphic =
{EllipseGraphic
fill-color = {url "control-panel-logo.gif"},
height = 1in, width = 1in
}
}
{let message2:EllipseGraphic =
{EllipseGraphic
fill-color = {url "control-panel-logo.gif"},
height = 1in, width = 1in
}
}{let random:RolledRandom = {RolledRandom 0, 100}}
{let f:Frame =
{Frame
halign = "center",
width = 2in,
color = "red",
font-size = 22pt
}
}{let box:HBox =
{HBox
{Frame halign = "left", message1},
f,
{Frame halign = "right", message2}
}
}
{do
let start-x:Distance = 2in, start-y:Distance = 1in
{c1.add x = start-x, y = start-y, box}
let start-time:DateTime = {DateTime}
let drop-time:Time = 3s
{box.animate frequency = 60fps,
{on TimerEvent do
let elapsed-time:Time = {start-time.elapsed}
let t:Time = {abs (elapsed-time mod drop-time*2) - drop-time}
let y:Distance = start-y + 0.5 * 2(cm/s^2)*(t * t)
{c1.move-to-xy box, start-x, y}
{f.add {random.next-roll}, replace? = true}
}
}
||-- {c1.add
||-- x = 2in,
||-- y = 1in,
||-- {text font-weight = "bold", Words}
||-- }}----- Original Message -----From: pang teeSent: Sunday, December 25, 2005 11:31 AMSubject: Re: Bouncing balls in CurlThanks Duke and Kamal for the response.I had added another bouncing ball to what was posted here earlier.Can you tell me how i can make the 2 balls separated by a horizontal distance of 2in and the random number appears between the 2 balls?
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
{curl 4.0 applet}
{curl-file-attributes character-encoding = "windows-latin-1"}
{applet
{compiler-directives careful? = true}
}
{let c1:Canvas =
{Canvas width = 6in, height = 5in, border-width = 1pt, background = ""}
}
{value c1}
{let message1:EllipseGraphic =
{EllipseGraphic
fill-color = {url "control-panel-logo.gif"},
height = 1in, width = 1in
}
}
{let message2:EllipseGraphic =
{EllipseGraphic
fill-color = {url "control-panel-logo.gif"},
height = 1in, width = 1in
}
}
{let overlay:OverlayBox =
{OverlayBox
{Frame halign = "left", message1},
{Frame halign = "right", message2},
{Frame valign = "bottom",
height = 1in,
{huge color = "red",Lucky Number!}
}
}
}
{do
let start-x:Distance = 2in, start-y:Distance = 1in
{c1.add x = start-x, y = start-y, overlay}
let start-time:DateTime = {DateTime}
let drop-time:Time = 3s
{overlay.animate frequency = 60fps,
{on TimerEvent do
let elapsed-time:Time = {start-time.elapsed}
let t:Time = {abs (elapsed-time mod drop-time*2) - drop-time}
let y:Distance = start-y + 0.5 * 2(cm/s^2)*(t * t)
{c1.move-to-xy overlay, start-x, y}
}
}
{c1.add
x = 2in,
y = 1in,
{text font-weight = "bold", Words}
}
}
*******************************************
To unsubscribe from this list, send a mail to:
mailto:[EMAIL PROTECTED]
To contact a human list administrator, send a mail to:
mailto:[EMAIL PROTECTED]
To recieve a list of other options for this list, send a mail to:
mailto:[EMAIL PROTECTED]
{curl 4.0 applet}
{curl-file-attributes character-encoding = "windows-latin-1"}
{applet
{compiler-directives careful? = true}
}
{let c1:Canvas =
{Canvas width = 10in, height = 5in, border-width = 1pt, background = "yellow"}
}
{value c1}
{let message1:EllipseGraphic =
{EllipseGraphic
fill-color = {url "control-panel-logo.gif"},
height = 1in, width = 1in
}
}
{let message2:EllipseGraphic =
{EllipseGraphic
fill-color = {url "control-panel-logo.gif"},
height = 1in, width = 1in
}
}
{let random:RolledRandom = {RolledRandom 0, 100}}
{let f:Frame =
{Frame
halign = "center",
width = 2in,
color = "red",
font-size = 22pt
}
}
{let box:HBox =
{HBox
{Frame halign = "left", message1},
f,
{Frame halign = "right", message2},
{CommandButton
label="Start",
{on Action do
}
},
{CommandButton
label="Stop",
{on Action do
}
}
}
}
{do
let start-x:Distance = 2in, start-y:Distance = 1in
{c1.add x = start-x, y = start-y, box}
let start-time:DateTime = {DateTime}
let drop-time:Time = 3s
{let t:Timer =
{box.animate frequency = 60fps,
repeat = 0,
{on TimerEvent do
let elapsed-time:Time = {start-time.elapsed}
let t:Time = {abs (elapsed-time mod drop-time*2) - drop-time}
let y:Distance = start-y + 0.5 * 2(cm/s^2)*(t * t)
{c1.move-to-xy box, start-x, y}
{f.add {random.next-roll}, replace? = true}
}
}
}
||-- {c1.add
||-- x = 2in,
||-- y = 1in,
||-- {text font-weight = "bold", Words}
||-- }
}
******************************************* To unsubscribe from this list, send a mail to: [EMAIL PROTECTED] To contact a human list administrator, send a mail to: [EMAIL PROTECTED] To recieve a list of other options for this list, send a mail to: [EMAIL PROTECTED]