Показать сообщение отдельно
Старый 05.03.2013, 08:44
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 8  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
ВОт так
http://ushan.org/ru/pages/portfolio/...les/fishes.swf


TweenLite здесь не подойдет. У рыбки должны быть виртуальные координаты направления к цели, скорость, ускорение. Если ее она проплыла мимо цели, то должна замедлится стремясь вернуться назад, пока не дойдет до нудной точки. ПРиблизительно как и человек на велосипеде Потом угол поворота направления тоже не может меняться мгновенно в реальной жизни, и у него тоже должна быть своя скорость и ускорение.
Вы говорите новичек, в принципе знания ООП здесь не обязательны, но если не было навыков раоты с кинематикой то вам будет сложновато, попробуйте для начала написать классичискую задачку с падающим на землю и отскакивающим от нее мячиком Или движением палочки по касательной к элипсу.

Добавлено через 5 минут
Или, даже лучше всего, алгоритм выпущенной стрелы.
Только без TweenLite на уровне задания скорости и ускорения свободного падения

Добавлено через 28 минут
Вот вам для начала основа для экспериментов:
http://wonderfl.net/c/adZE (на этом сервисе можете писать код и компилить прямо на сайте)


Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Test2 extends Sprite
	{
		private var sprite	:Sprite;
		private var speedX	:Number = 5;
		private var speedY	:Number = -3;
		private var grvity	:Number = 0.1;
 
		public function Test2()
		{
			init();
		}
 
		private function init():void
		{
			initSptrite();
			addEventListener(Event.ENTER_FRAME, enterFrameHandler);
 
		}
 
		private function initSptrite():void
		{
			sprite = new Sprite();
			addChild(sprite);
			sprite.graphics.beginFill(0x0000ff);
			sprite.graphics.drawEllipse(0, 0, 20, 3);
			sprite.x = 20;
			sprite.y = 100;
		}
 
		private function update():void
		{
			sprite.x += speedX;
			speedY += grvity;
			sprite.y += speedY;
			var rotationRad:Number = Math.atan2(speedY, speedX);
			sprite.rotation = rotationRad  / Math.PI * 180;
		}
 
		private function enterFrameHandler(event:Event):void
		{
			update();
		}
 
	}
}
Вам задание: сделайте так что бы стрела меняла направление скорости и летела в точку клика. (Подсказка: высчитывай скорость по Х и по Y умножив модуль скорости на cos и sin угла к цели соответственно)
__________________
...


Последний раз редактировалось Александр Мостовой; 05.03.2013 в 14:23.