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

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

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

Регистрация: Jul 2007
Сообщений: 393
Вам PsixokoT пишет, если суммировать, простую и правильную вещь. Если вы хотите, что бы было похоже на реальность-придется действительно к физике работы привязываться, это же не просто
Код:
обороты*передточное число=скорость.

Старый 07.08.2012, 21:52
PsixokoT вне форума Посмотреть профиль Отправить личное сообщение для PsixokoT Найти все сообщения от PsixokoT
  № 12  
Ответить с цитированием
PsixokoT

Регистрация: May 2008
Сообщений: 63
Вообщем все понятно, автору просто лень разбираться, Тогда я бы вам посоветовал воспользоваться банальными ease функциями. У носков есть даже замечательная штука для генерации кастомных изингов.

Как впихнуть?
Вот накидал, изинги взял Linear. Просто для примера.
tachometer.zip
Код AS1/AS2:
var MAX:Number = 40;
var _easeIn:Function = easeIn;
var _easeOut:Function = easeOut;
 
var _press:Boolean = false;
var _time:Number = 0;
var _power:Number = 0;
 
this.onEnterFrame = function():Void {
	//_time = (_press) ? Math.min(MAX,++_time) : Math.max(0,--_time);
	if (_press) {
		_time = Math.min(MAX,++_time);
		_power = _easeIn(_time,0,1,MAX);
	} else {
		_time = Math.max(0,--_time);
		_power = _easeOut(_time,0,1,MAX);
	}
	arrowMc._rotation = 260*_power;
}
 
this.onMouseDown = function():Void {
	_press = true;
}
 
this.onMouseUp = function():Void {
	_press = false;
}
 
function easeNone (t:Number, b:Number, c:Number, d:Number):Number {
	return c*t/d + b;
}
function easeIn (t:Number, b:Number, c:Number, d:Number):Number {
	return c*t/d + b;
}
function easeOut (t:Number, b:Number, c:Number, d:Number):Number {
	return c*t/d + b;
}
function easeInOut (t:Number, b:Number, c:Number, d:Number):Number {
	return c*t/d + b;
}

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

Регистрация: Jun 2002
Адрес: on the backyard
Сообщений: 285
Отправить сообщение для greep с помощью ICQ
Друзья, какие обороты? Какой электродвигатель? Какая скорость кмч?)) Наверно я просто плохо объясняю... В примере, который я приложил изначально, стрелка движется реалистично (правда не до конца, но всё же). Все что мне нужно, это понять, как в данном контексте рассчитать (при падении оборотов) по текущему углу стрелки, шаг, который бы соответствовал ей, если бы она росла! И всё.

Спасибо большое Мункару, за простое, не совсем верное, но достаточно эффективное решение. Спасибо всем остальным участникам дискуссии за участие.

Старый 08.08.2012, 12:44
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 14  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™

Вообще, видимо, просто нужно использовать функцию, которая бы просто возвращала значение шага в зависимости от угла поворота стрелки. Если согласиться с тем, что это прямая пропорциональность.
Тогда и не надо шаг рассчитывать в onEnterFrame.
__________________
Идите первым!

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

Регистрация: Jun 2002
Адрес: on the backyard
Сообщений: 285
Отправить сообщение для greep с помощью ICQ
О том и речь. Но моих познаний в математике, для этого, явно не хватает.

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

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

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


 


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


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