# Swiss clock scene - see end for credits
canvas width 800
canvas height 600
setup
load /assets/backgrounds/station-platform.png as platform
put platform as background
prepare swiss-clock
begin
run swiss-clock 188 263 83 40 // size, x, y, darkness
scene swiss-clock
setup
# Create group for the clock
group create clock
# get our local assets
sprite create face load from /demo/swiss-clock/swiss-railway-clock.png
sprite create secondhand load from /demo/swiss-clock/second-hand.png
sprite create hourhand load from /demo/swiss-clock/hour-hand.png
sprite create minutehand load from /demo/swiss-clock/minute-hand.png
# Initial sprite placement
place face in group clock at origin size 200 200 depth 200
place minutehand in group clock at origin depth 201
place hourhand in group clock at origin depth 202
place secondhand in group clock at origin depth 203
begin
# Pick up the parameters passed in to us
assign size xpos ypos darkness as $PARAMETERS
# Clock is ready, now position it
place clock at $xpos $ypos depth 300
darken clock to $darkness
# Now set the current time
rotate secondhand to ($SECONDS * 6)
rotate minutehand to ($MINUTES * 6)
rotate hourhand to ((($HOURS Mod 12) * 30) + ($MINUTES/2))
each **:**:00
# move both hands
rotate minutehand to ($MINUTES * 6)
rotate hourhand to ((($HOURS Mod 12) * 30) + ($MINUTES/2))
every 1 second
rotate secondhand to ($SECONDS * 6)
after 1 seconds // give time to load
resize clock $size $size
end scene
notes
Station platform generated by Canva AI / Affinity App
Clock face from https://commons.wikimedia.org/wiki/File:Swiss_railway_clock_1.svg
Call from URL /demo/swiss-clock/swiss-clock.txt
The scene swiss-clock can be reused as required
endnotes