Архив

Публикации с меткой ‘Animator’

А вместо сердца — пламенный мотор

29 сентября 2007 5 комментариев

Сегодня попробуем усложнить вчерашний пример, и вместо квадратика нарисуем сердечко. И... заставим его биться в такт нашему. Конечно, ваше сердце должно биться от восторга, как у меня...

Итак, приступим. Наш базовый класс Main будет выглядить вот так:

package {
import flash.display.Sprite;
import flash.display.Shape;
import fl.motion.Animator;
import fl.motion.MotionEvent;

public class Main extends Sprite {
	public var kv_animator:Animator;
 	public function Main() {
		var h = Heart(300,0xFF1010);
		addChild(h);// Добавляем Красное сердечко на основную сцену
		h.x=100;
		h.y=30;
		setAnim(h);
	}

 	public function Heart(w:Number, col:uint) {// Функция, рисующая квадрат
 		var heart:Shape = new Shape();
 		var Width=w;
 		with (heart.graphics) {
 			beginFill(col, 0.80);
 			moveTo(Width/2,Width/2);
 			curveTo(Width*0.75,0,Width,Width/2);
 			curveTo(Width,Width*0.75,Width/2,Width);
 			curveTo(0,Width*0.75,0,Width/2);
 			curveTo(Width*0.25,0,Width/2,Width/2);
 			endFill();
 		}
 		return heart;
 	}
 	private function setAnim(obj) {
var kv_xml:XML =

	
		
			
		
	
	
		
	
	
		
	
	
		
	
	
		
	
	
		
	
;

 			kv_animator = new Animator(kv_xml, obj);
	 		kv_animator.addEventListener(MotionEvent.MOTION_END,afterMotion);
 			kv_animator.play();
 		}
	 	function afterMotion(e:MotionEvent) {
 			e.target.play();
 		}
	}
}

В следующей публикации попробую рассказать как работает этот скрипт.

UPD: Посмотреть на результат можно здесь. Исходники здесь.