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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.12.2013, 16:33
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 11  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
1. Высчитать нормированный вектор направления движения, и в каждом кадре прибавлять к вектору положения вектор перемещения умноженный на скорость перемещения до тех пор, пока объект не будет находиться в эпсилон окрестности конечной точки.
----------
а как его высчитывать то? а прибавлять? какие в as3 механизмы то есть? об этом и спрашиваю

Старый 12.12.2013, 16:35
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 12  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Так я Вам это уже сделал.

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Цитата:
а как его высчитывать то? а прибавлять? какие в as3 механизмы то есть? об этом и спрашиваю
Вы говорили что код не нужен, только концепция.

Akopalipsis, ваш код просто ужасен.
Во-первых, для определения времени есть функция getTimer()
Во-вторых, массив с элементами разного типа, это вообще никуда не годится. в AS3 есть класс Point, его желательно использовать для представления точек. Или хотя бы простой объект со свойствами x и у
Код AS3:
var length:int = array.length / 3; 
sprite[property] = ratio * finish + start;
Вообще каша

Старый 12.12.2013, 16:43
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 14  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
array = ['x' ,sprite.x, 400, 'y', sprite.y, 400];
------
а что тут делается?
это только одна строка массива или вообще что?

Старый 12.12.2013, 16:46
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 15  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
это только одна строка массива или вообще что?
Это массив, в который поместили значения. Обычный при обычный массив.

Старый 12.12.2013, 16:48
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 16  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
да. спасибо! этот код работает. но я совершенно не пойму как. не в плане as3 а саму логику.
что это за странный массив был создан через который все действует?

Добавлено через 43 секунды
а сам вектор перемещения он где высчитывается?

Добавлено через 1 минуту
просто из за того что все обращается через массив я слабо понимаю математический смысл.

Старый 12.12.2013, 16:53
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 17  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
KumoKairo я всегда прислушиваюсь к советам и благодарю за них, но не в этот раз. Вы не правы. Каша это Ваш пример о кнопках, который вообще на другом языке.
getTimer(), Point, "Или хотя бы простой объект со свойствами x и у" - вперёд! Сделайте и покажите!

Добавлено через 4 минуты
Цитата:
просто из за того что все обращается через массив я слабо понимаю математический смысл.
Смысл смешанного массива в том, что обычно это делается с специальным классом, в котором есть свойства,
но с ним было бы ещё более не понятно. А вектор высчитывается в -
Код AS3:
const finish:Number = array[i * 3 + 2] - start;
Добавлено через 6 минут
Цитата:
находиться в эпсилон окрестности конечной точки.
Это прям не каша, а откровение. Вот прочёл и сразу понял как анимацию делать...

Старый 12.12.2013, 17:06
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 18  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
а вот мой совет. вот так код удобен и хорош. а то массив из шести элементов, цикл до двух повторений))) ну ну
x1 и y1-начальные координаты
x2 и y2-целевые
Код AS3:
	var  start:Number = x1;	 
		 	var  finish:Number = x2 - start;
	 	myCursor.x = ratio * finish + start; 
		   start  = y1;	 
		   finish  =y2  - start;
		myCursor.y = ratio * finish + start;
Добавлено через 1 минуту
а вот за сам код большое спасибо. я бы фиг знает сколько разбирался бы

Старый 12.12.2013, 17:16
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 19  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
а вот за сам код большое спасибо. я бы фиг знает сколько разбирался бы
А на самом деле Вам ещё разбираться и разбираться. Код показывает только направление, но до конечного результата ещё очень и очень много учить.

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

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

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


 


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


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