Geoff,

Your new idea gave me an idea. Make three handlers --one for each hand (I hope I got the hour math straight)
You can find it in my user space (see3d).

Dennis

on openCard
  setSeconds; setMinutes; setHours
end openCard

on setSeconds
  send setSeconds to me in 1-(the long seconds mod 1) seconds
  put the long time into fld "Time" --8:13:15 AM
  set the angle of grc "Second" to 450 - ((the seconds * 6) mod 360)
end setSeconds

on setMinutes
send setMinutes to me in 10-(the seconds mod 10) seconds --10 seconds/degree set the angle of grc "Minute" to 450 - ((the seconds mod 3600) div 10)
end setMinutes

on setHours
send setHours to me in 120-(the seconds mod 120) seconds --120 seconds/degree
  set itemdel to ":"
set the angle of grc "Hour" to 450-(60*item 1 of the time mod 12) - ((the seconds mod 3600) div 120) --It's UTC if you just use the seconds here
end setHours

On Jun 8, 2005, at 10:04 AM, Geoff Canyon wrote:

I came up with a radically different approach. Several iterations ago, we realized that we didn't have to guess when it would be time to set the clock graphics. We could use 1-(the long seconds mod 1) to get a message sent exactly when we need it.

Well, we're still guessing at when it's time to move the minute hand or the hour hand, and we don't need to. The minute hand moves one degree every ten seconds, the hour hand one degree every two minutes. The tests to determine this are simple. The natural thing to do is set the second hand, check to see if the minute hand needs to be set, and if it does check to see if the hour hand needs to be set. At each step, I want to exit if appropriate. The stumbling block was the send...in. I need to get to the end to do it.

Then I realized -- the send...in doesn't have to be the last step. It can come at any point. So here's the script now:

_______________________________________________
use-revolution mailing list
[email protected]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to