Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.09.2013, 12:25
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 1  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
По умолчанию Движение объекта прямо и по окружности одновременно

Добрый день! Сразу скажу, что с тригонометрией у меня беда но нужно реализовать движение объекта по схеме приведенной ниже. Объект двигается по Х и окружности одновременно. Помогите, пожалуйста, очень нужно
Миниатюры
Нажмите на изображение для увеличения
Название: Untitled-1.jpg
Просмотров: 94
Размер:	39.0 Кб
ID:	29998  
__________________
Не стыдно спросить, стыдно не знать !

Старый 12.09.2013, 12:38
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 2  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Самый простой вариант нарисовать курв и сделать анимацию вдоль этого курва
http://swf-flash.blogspot.com/2012/0...animation.html
__________________
Гоночка

Старый 12.09.2013, 12:50
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 3  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
А если это враг, который должен лететь по такой траектории?
__________________
Не стыдно спросить, стыдно не знать !

Старый 12.09.2013, 13:07
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 4  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Цитата:
Объект двигается по Х и окружности одновременно.
По вашей схеме объект не движется по Х и Y одновременно, он сначала продвигается по X, потом останавливается, совершает полный оборот, затем немного продвигается и снова останавливается для совершения полного оборота.

На самом деле ваша схема движения - обычная циклоида.
Название: 1-1269121721_tochkap.jpg
Просмотров: 578

Размер: 11.5 Кб
Уравнения для X и Y находятся тут

То есть
Код AS3:
package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.utils.getTimer;
	/**
	 * ...
	 * @author KumoKairo
	 */
	public class Trajectory extends Sprite
	{
		private var _elementDummy:Sprite;
		private var _previousTime:Number;
		private var _velocity:Number;
		private var _radius:Number;
		private var _cycles:uint;
 
		public function Trajectory() 
		{
			_elementDummy = new Sprite();
			_elementDummy.graphics.beginFill(0xFF0000);
			_elementDummy.graphics.drawCircle(0, 0, 15);
			addChild(_elementDummy);
 
			_previousTime = getTimer();
			_velocity = 0.02;
			_radius = 15;
			_cycles = 0;
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		private function onEnterFrame(e:Event):void 
		{
			var passedTime:Number = getTimer() - _previousTime - _cycles * 3000;
 
			_elementDummy.x = _radius * _velocity * passedTime - _radius * Math.sin(_velocity * passedTime);
			_elementDummy.y = _radius - _radius * Math.cos(_velocity * passedTime);
 
			if (_elementDummy.x > 800)
			{
				_cycles++;
			}
		}
 
	}
 
}
NewProject.swf   (4.9 Кб)
Вложения
Тип файла: swf NewProject.swf (4.9 Кб, 144 просмотров)

Старый 12.09.2013, 17:53
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 5  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Тут принцип простой: "Не хочешь возится с тригонометрией - вкладывай спрайт один в другой и двигай их"
Т.е. берёте спрайт "точка", ложите в спрайт "колесо", колесо сложите в спрайт "вращающееся колесо"
И крутите колесо во вращающемся колесе, двигаете вращающееся колесо.

Я очень чётко знаю тригонометрию, но всё равно, если есть возможность, использую этот способ, дабы не запутаться и легко поправить что нужно.
Не, если нужно не движение на экране, а именно функция, которая возвращает координаты, то конечно придется напрячь мозг, не создавать же вспомогательные спрайты на ровном месте.

Старый 12.09.2013, 17:57
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 6  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Цитата:
Сообщение от expl Посмотреть сообщение
Тут принцип простой: "Не хочешь возится с тригонометрией - вкладывай спрайт один в другой и двигай их"
Т.е. берёте спрайт "точка", ложите в спрайт "колесо", колесо сложите в спрайт "вращающееся колесо"
И крутите колесо во вращающемся колесе, двигаете вращающееся колесо.

Я очень чётко знаю тригонометрию, но всё равно, если есть возможность, использую этот способ, дабы не запутаться и легко поправить что нужно.
Не, если нужно не движение на экране, а именно функция, которая возвращает координаты, то конечно придется напрячь мозг, не создавать же вспомогательные спрайты на ровном месте.
да ну нах такую реализацию)
__________________
return this...

Старый 12.09.2013, 18:47
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 7  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
AlexCooper,
  1. Вложить спрайт в спрайт - по нубский.
  2. В некоторых случаях, может понадобиться расчёт в нескольких не зависимых координатных пространствах.
  3. Для этого нужно использовать матрицы, получая конечный результат их перемножением.
  4. Вместо ручного манипулирования матрицами, во флешь уже есть нативная встроенная система - это дисплей-контейнеры, использующие принцип "вложенности" перемножения матриц, очень простая и удобная.
  5. Вкладывать спрайт в спрайт - может быть не таким уж и нубским способом.
Однажды меня посетила такая цепочка размышлений
__________________
Дети не должны знать о своих родителях

Старый 12.09.2013, 18:53
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 8  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Tails я обеими руками за гибкость. Я лучше сломаю мозг при расчетах и смогу управлять движением, нежели нарисую рукой кривую для движения объекта
p.s. Если конечно это не баннер)
__________________
return this...

Старый 13.09.2013, 12:22
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 9  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
KumoKairo , спасибо большое!
__________________
Не стыдно спросить, стыдно не знать !

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:02.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.