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

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

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

Регистрация: Jun 2007
Сообщений: 118
По умолчанию как правильно написать условие для движения клипа

Есть клип - (летающая тарелка). Когда нажимаешь влево она летит влево с ускорением равным 0,3. Когда нажимаешь вправо - летит с ускорением равным -0,3.
Проблема в том, что нужно, чтобы скорость не превышала, скажем, 5 даже если кнопка нажата.

Пишу код:
Код:
if (this.speedX < 5) {
this.speedX += acceleration;
}
Как только тарелка достигает скорости 5 скорость дальше не увеличивается. Но проблема в том, что т.к. скорость 5 и условие работает, придать клипу отрицательное ускорение не получится.

Вопрос: как написать правильно условие? А то че-то я не могу придумать...

Заранее извиняюсь за тупой вопрос

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Код:
if(Key.isDown(Key.RIGHT)){
     if (this.speedX < 5 && this.speedX >= 0) {
     this.speedX += acceleration;
     }
}
if(Key.isDown(Key.LEFT)){
     if (this.speedX > -5 && this.speedX <= 0) {
     this.speedX -= acceleration;
     }
}
попробуй что-то типа этого (может ошибся, т.к. на скорую руку =))
__________________
Flash Developer
Папа TDP4 Team Battle

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

Регистрация: Jun 2007
Сообщений: 118
не работает

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Убери во всех this.speedX указатель this (может это и не важно, смотря как снаружи у тебя устроено) и главное - нолики замени на -5 и 5 соотв
__________________
Reality.getBounds(this);

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
ufo_mc.speedX = 0;
ufo_mc.acceleration = .5;

ufo_mc.onEnterFrame = function(){

if(Key.isDown(Key.RIGHT) && this.speedX < 5 ){
     this.speedX += this.acceleration;
 }else if(Key.isDown(Key.LEFT) && this.speedX > -5 ) {
     this.speedX -= this.acceleration;
}
this._x += this.speedX;
this.speedX *= .8; //трение

}
ufo_mc нарисовать, код в кадр.
Трение можно поменьше поставить ))


Последний раз редактировалось Kikasso; 25.07.2007 в 16:24.
Старый 25.07.2007, 16:54
GreatRash вне форума Посмотреть профиль Отправить личное сообщение для GreatRash Найти все сообщения от GreatRash
  № 6  
Ответить с цитированием
GreatRash

Регистрация: Jun 2007
Сообщений: 118
Спасибо работает!

А еще вопрос можно ли сделать, чтоб клип за пределы видимости не улетал? Без использования hitTest и стен...

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
http://www.flasher.ru/forum/showthread.php?t=98620
__________________
Reality.getBounds(this);

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

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

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


 


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


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