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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.01.2011, 03:48
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 1  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
По умолчанию Как узнать скорость?

Кто подскажет как узнать скорость движения объекта?
Движение происходит по событию таймера, по одной оси

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

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
скорость = расстояние/время =)

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

Регистрация: Jul 2008
Сообщений: 912
формулу я знаю, но сам процесс в AS3 не пойму как засекать каждую секунду пройденное расстояние.
Расстояние в пикселах а лучше в единичных векторах, оно не известно. Нужно засечь сколько в секунду проходит объект, а потом скорость вычислить

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

Регистрация: Jun 2010
Сообщений: 189
Можно в дополнение к таймеру, в соответствии с которым движется объект, сделать еше один таймер и каждую секунду снимать координаты.

Старый 12.01.2011, 15:40
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 5  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Измеряйте расстояние в чем хотите.
Раз движение происходит по событию таймера, причем, там наверное делается что-то вроде этого:
Код AS3:
movedObject.x += 5;
, тогда скорость будет такая:
Код AS3:
private function timerEventListener(evt:TimerEvent):void {
  const delta:Number = 5;
  movedObject.x += delta;
  var t:Timer = e.target as Timer;
  var speed:Number = delta / t.delay; // скорость тут будет в пикселях в миллисекунду...
}
Вообщем, физика 7 или 8 класс...

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

Регистрация: Jul 2008
Сообщений: 912
нет, там есть трения, торможения, разгон...

Старый 12.01.2011, 15:50
labuza вне форума Посмотреть профиль Отправить личное сообщение для labuza Посетить домашнюю страницу labuza Найти все сообщения от labuza
  № 7  
Ответить с цитированием
labuza
 
Аватар для labuza

Регистрация: Dec 2002
Адрес: Украина Киев
Сообщений: 29
Отправить сообщение для labuza с помощью AIM Отправить сообщение для labuza с помощью Yahoo
Можно по такому алгоритму попробовать:
1. Ищем стандартную функцию определения координат мувика который двигается заносим в переменную (допустим coord)
2. С помощью стандартной функцией работы с системным временем делаем переменную которая будет содержать секунды (допустим sec)
3. Создаем условие проверки изменения значения sec
3. При изменении sec на 1 (если нужна скорость с точностью в секундах) заносим значение coord в переменную (допустим sravnenie)
4. вычитаем значение coord из sravnenie или наоборот (нет разницы)
5. берем по модулю полученное значение и имеем пройденные координаты в секунду.
Это для поведения по одной оси. Иначе задача усложняется вдвое.

Прикинул в уме. По идее должно сработать.
Успехов!

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

Регистрация: Jul 2008
Сообщений: 912
Ну так вот я и хочу узнать как снимать координаты каждую секунду и присваивать их переменной?

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

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Timer + DisplayObject#x,y

Старый 12.01.2011, 17:08
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Кто подскажет как узнать скорость движения объекта?
Движение происходит по событию таймера, по одной оси
Не совсем понятен вопрос.
Очевидно же, что к положению объекта добавляется некоторое количество пикселей. Это и есть скорость. В чем проблема то?

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

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

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


 


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


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