Показать сообщение отдельно
Старый 04.05.2013, 23:35
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 5  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Проблема в переменных mousePositionX и mousePositionY. Вот набросал рабочий пример.
TestProject.swf   (1.5 Кб)

Код AS3:
package 
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	/**
	 * ...
	 * @author bav
	 */
	[Frame(factoryClass="Preloader")]
	public class Main extends Sprite 
	{
		private var hero:Sprite;
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			hero = new Sprite();
			var g:Graphics = hero.graphics;
			g.lineStyle(1);
			g.beginFill(0xFFFF00);
			g.moveTo( -10, -10);
			g.lineTo(10, 0);
			g.lineTo(-10, 10);
			g.lineTo( -10, -10);
			g.endFill();
 
			hero.x = stage.stageWidth / 2;
			hero.y = stage.stageHeight / 2;
			addChild(hero);
 
			stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
		}
 
		private function mouseMoveHandler(e:MouseEvent):void 
		{
			var dx:Number = e.stageX - hero.x;
			var dy:Number = e.stageY - hero.y;
			hero.rotation = Math.atan2(dy, dx) * 180 / Math.PI;
 
			var g:Graphics = this.graphics;
			g.clear();
			g.lineStyle(2, 0xFF0000);
			g.moveTo(hero.x, hero.y);
			g.lineTo(e.stageX, e.stageY);
		}
 
	}
 
}
Вложения
Тип файла: swf TestProject.swf (1.5 Кб, 100 просмотров)