var symbolsS = [] var symbolsM = [] var symbolsH = [] generate() update() setInterval(update, 1000) onEnterFrame = render function generate() { var wrap = _root.createEmptyMovieClip("wrap" , 0) wrap._x = Stage.width / 2 wrap._y = Stage.height / 2 var r = 1000 var i = 0 while( i++ < 60 ) { var mc = wrap.attachMovie("circle" , "s" + i , 100 + i) var rgb = new Color(mc) rgb.setRGB(0x99CC00) mc.sec_txt.text = i symbolsS.push( mc ) } var i = 0 while( i++ < 60 ) { var mc = wrap.attachMovie("circle" , "m" + i , 200 + i) var rgb = new Color(mc) rgb.setRGB(0x88AA00) mc.sec_txt.text = i symbolsM.push( mc ) } var i = 0 while( i++ < 24 ) { var mc = wrap.attachMovie("circle" , "h" + i , 300 + i) var rgb = new Color(mc) rgb.setRGB(0x778800) mc.sec_txt.text = i symbolsH.push( mc ) } } function update() { var now = new Date() var sec = now.getSeconds() + 14 var min = now.getMinutes() + 14 var hour = now.getHours() + 5 var i = symbolsS.length while(i--) { var mc = symbolsS[i] mc.x = 4000 * Math.cos(((i - sec) % 60) / 60 * 360 * Math.PI / 180 ) mc.y = 200 mc.z = 4000 * Math.sin(((i - sec) % 60) / 60 * 360 * Math.PI / 180 ) + 6000 } var i = symbolsM.length while(i--) { var mc = symbolsM[i] mc.x = 4500 * Math.cos(((i - min) % 60) / 60 * 360 * Math.PI / 180 ) mc.y = 200 mc.z = 4500 * Math.sin(((i - min) % 60) / 60 * 360 * Math.PI / 180 ) + 5250 } var i = symbolsH.length while(i--) { var mc = symbolsH[i] mc.x = 5000 * Math.cos(((i - hour) % 24) / 24 * 360 * Math.PI / 180 ) mc.y = 200 mc.z = 5000 * Math.sin(((i - hour) % 24) / 24 * 360 * Math.PI / 180 ) + 5500 } wrap._alpha = 50 var snd = new Sound(this) snd.attachSound("ClockTickSound") snd.start() } function render() { // wrap wrap._rotation += (180 * _root._xmouse / Stage.width - wrap._rotation) * .1 wrap._alpha += (100 - wrap._alpha) * .25 // clock circles var focus = 350 var n = symbolsS.length while( n-- ) { var mc = symbolsS[n] var pers = focus / mc.z pers = pers > 0 ? pers : 0 mc._x += (mc.x * pers - mc._x) * 0.3 mc._y += (mc.y * pers - mc._y) * 0.3 - 90 mc._xscale = mc._yscale = 100 * pers mc.swapDepths( 11000 - Math.floor( mc.z ) ) mc._rotation = - wrap._rotation } var n = symbolsM.length while( n-- ) { var mc = symbolsM[n] var pers = focus / mc.z pers = pers > 0 ? pers : 0 mc._x += (mc.x * pers - mc._x) * 0.3 mc._y += (mc.y * pers - mc._y) * 0.3 - 50 mc._xscale = mc._yscale = 100 * pers mc.swapDepths( 11000 - Math.floor( mc.z ) ) mc._rotation = - wrap._rotation } var n = symbolsH.length while( n-- ) { var mc = symbolsH[n] var pers = focus / mc.z pers = pers > 0 ? pers : 0 mc._x += (mc.x * pers - mc._x) * 0.3 mc._y += (mc.y * pers - mc._y) * 0.3 +20 mc._xscale = mc._yscale = 100 * pers mc.swapDepths( 11000 - Math.floor( mc.z ) ) mc._rotation = - wrap._rotation } }