Показать сообщение отдельно
Старый 28.10.2010, 16:03
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 9  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Wolsh, спасибо большое, код сократился малость.

Код AS3:
package {
	import flash.display.Sprite;
	import mx.core.BitmapAsset;
	import flash.events.Event;
 
 
	public class KanjiClock extends Sprite {
 
		[Embed(source = "kanji_clock.jpg")] //подключаем jpg
		var ClockDial:Class;
 
		private var secHand:Sprite;
		private var minHand:Sprite;
		private var hourHand:Sprite;
 
 
		public function KanjiClock ():void {
 
			var dial:BitmapAsset = new ClockDial(); //объявляем переменную от Embed source
			stage.addChild (dial);	//добавляем циферблат (jpg) на сцену
 
			var centerCircle:Sprite = new Sprite(); //центральный кружок
			centerCircle.graphics.beginFill (0x000000);
			centerCircle.graphics.drawCircle (148, 148, 7);
			centerCircle.graphics.endFill();
 
			secHand = new Sprite(); //секундная стрелка
			secHand.graphics.lineStyle (.1, 0x000000);
			secHand.graphics.beginFill (0x0066CC);
			secHand.graphics.drawRect (-2, 0, 4, 100);
			secHand.graphics.endFill();
			secHand.x = 148;
			secHand.y = 148;
 
			minHand = new Sprite(); //минутная стрелка
			minHand.graphics.lineStyle (.1, 0x000000);
			minHand.graphics.beginFill (0x650099);
			minHand.graphics.drawRect (-3, 0, 6, 80);
			minHand.graphics.endFill();
			minHand.x = 148;
			minHand.y = 148;
 
			hourHand = new Sprite(); //часовая стрелка
			hourHand.graphics.lineStyle (.1, 0x000000);
			hourHand.graphics.beginFill (0x660000);
			hourHand.graphics.drawRect (-4, 0, 8, 60);
			hourHand.graphics.endFill();
			hourHand.x = 148;
			hourHand.y = 148;
 
			//добавляем стрелки на stage и кружок в центр
			stage.addChild (hourHand);
			stage.addChild (minHand);
			stage.addChild (secHand);
			stage.addChild (centerCircle);
 
			stage.addEventListener (Event.ENTER_FRAME, onEnterFrame, false, 0, true);
 
			function onEnterFrame (e:Event):void {
 
				var currentDate:Date = new Date();
				var sec:Number = currentDate.getUTCSeconds();
				var min:Number = currentDate.getUTCMinutes();
				var hour:Number = currentDate.getUTCHours();
 
				//добавляем вращение стрелкам
				secHand.rotation = 180+6*sec;
				minHand.rotation = 180+6*min + sec*0.1;
				hourHand.rotation = 180+30*(hour+4) + min/2;
			}
 
		}
 
	}
 
}
А кто что думает по поводу Embed/loader?

EnterFrame для обновления оптимален?