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 best
for 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 tee
Sent: Sunday, December 25, 2005 11:31 AM
Subject: Re: Bouncing balls in Curl

Thanks 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]

Reply via email to