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

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

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

Регистрация: Apr 2011
Сообщений: 7
По умолчанию Вращение (с остановкой)

В общем, понятно что я новичек )) помогите плиз нуна плавно закрутить объект на несколько секунд и также плавно его остановить. С первой частью я справился а вот плавной остановки ни как добиться не могу ))
Код AS1/AS2:
onClipEvent (load) {
   xspeed = 0;
}
onClipEvent (enterFrame) {
    _rotation += xspeed;
	xspeed +=0.13;
 
 
}

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Не пишите больше код на объетах.
2. Называете ваш объект на сцене (Instance name), например, mc, тогда в кадре запишите такой читерский код:
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var tw:Tween = new Tween(mc, '_rotation', Strong.easeInOut, 0, 720, 5, true);
тут 0 - начальный угол, 720 - конечный угол (два раза по 360, поставьте сколько нужно), 5 - время в секундах, true - указывает на то, что исп. секунды, а не фреймы
easeInOut - указывает на ускорение и замедление в начале и конце соотв.
Единственный минус - участка с чисто равномерным движением при такой записи тут не будет, ну может быть вас устроит.


3. При вашем алгоритме для решения задачи в какой-то момент времени нужно было бы сперва прекратить прирост "скорости", а потом поменять знак:
Код AS1/AS2:
xspeed -=0.13;
и отследить, чтобы "скорость" не стала меньше нуля, тогда прекратить ротацию.

4. Пишите на форуме грамотно на русском, без "нуна", с запятыми и без закрывающих скобок ни к месту.
__________________
Идите первым!


Последний раз редактировалось mooncar; 06.04.2011 в 11:21.
Старый 06.04.2011, 14:41
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от mooncar Посмотреть сообщение
2. Называете ваш объект на сцене (Instance name), например...
Вы имя не дали, у вас должно стоять на сцене имя downplanescript.
Отцентровать также придется контент мувика относительно нуля координат, если хотите, чтобы вокруг геометрического центра крутилось.

И один кадр оставьте на таймлайне!
__________________
Идите первым!

Старый 06.04.2011, 20:22
nicon вне форума Посмотреть профиль Отправить личное сообщение для nicon Найти все сообщения от nicon
  № 4  
Ответить с цитированием
nicon

Регистрация: Apr 2011
Сообщений: 7
Цитата:
Сообщение от mooncar Посмотреть сообщение
Вы имя не дали, у вас должно стоять на сцене имя downplanescript.
Отцентровать также придется контент мувика относительно нуля координат, если хотите, чтобы вокруг геометрического центра крутилось.

И один кадр оставьте на таймлайне!
Оно и стоит, если вы о названии movie clip'a.
Ну у ня сцена собтвенно 500х500 я пытался кнопку центролизовать по координатам, чет не выходит, все равно кнопка улетает:
Код AS1/AS2:
onClipEvent (enterFrame) {
btn.x = 250;
btn.y=250;
}
Кстати как скорость увеличить в том магическом коде что выше вы расположили?


Последний раз редактировалось nicon; 06.04.2011 в 20:40.
Старый 06.04.2011, 14:00
nicon вне форума Посмотреть профиль Отправить личное сообщение для nicon Найти все сообщения от nicon
  № 5  
Ответить с цитированием
nicon

Регистрация: Apr 2011
Сообщений: 7
У меня почему то получилось немного не то, что бы хотелось.
Я наверно не правильно описал проблему. Собственно нужно чтобы при нажатии на кнопку объект быстро разогнался, а после 5 секунд плавно остановился. То, что предложили вы конечно вариант, но либо я ничего не понял, либо корректно работать не хочет )). Так, что я пока на том же уровне что и был )).
Я пробовал внести условие, но что-то не выходит ничего, вращение продолжается на той скорости где прекратилось разгоняться:
Код AS1/AS2:
if(xspeed > 5){
xspeed -=0.13;
}
Вложения
Тип файла: rar test.rar (153.6 Кб, 43 просмотров)


Последний раз редактировалось nicon; 06.04.2011 в 14:28.
Старый 06.04.2011, 20:38
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Третий раз вам говорю - имя на сцене, т.е имя экземпляра, instance name. Зайдите на вкладку свойств мувика на сцене и задайте имя.
Как вы назвали в библиотеке - не имеет никакого значения для ActionScript.

Не пишите код на объектах - тоже повторюсь.

Скорость можно увеличить двумя спопосбами - увеличить суммарный угол, или уменьшить время ротации.

Это не AS3, это решение в AS2, ветка форума для AS2.

Какой у вас CS? Пример вам сделаю...
Во вложении то, что получится. На сцене мувик mc, код в кадре вышеприведенный. Ускорить можно как угодно.
Вложения
Тип файла: rar rotation.rar (2.9 Кб, 52 просмотров)
__________________
Идите первым!


Последний раз редактировалось mooncar; 06.04.2011 в 20:53.
Старый 06.04.2011, 21:06
nicon вне форума Посмотреть профиль Отправить личное сообщение для nicon Найти все сообщения от nicon
  № 7  
Ответить с цитированием
nicon

Регистрация: Apr 2011
Сообщений: 7
Цитата:
Сообщение от mooncar Посмотреть сообщение
Третий раз вам говорю - имя на сцене, т.е имя экземпляра, instance name. Зайдите на вкладку свойств мувика на сцене и задайте имя.
Как вы назвали в библиотеке - не имеет никакого значения для ActionScript.

Не пишите код на объектах - тоже повторюсь.

Скорость можно увеличить двумя спопосбами - увеличить суммарный угол, или уменьшить время ротации.

Это не AS3, это решение в AS2, ветка форума для AS2.

Какой у вас CS? Пример вам сделаю...
Во вложении то, что получится. На сцене мувик mc, код в кадре вышеприведенный. Ускорить можно как угодно.
Был CS5, щас поставил CS3. Нашел, вписал туда название - эффект один и тотже. Может че не так делаю помсмотри плиз.
Вложения
Тип файла: rar test.rar (152.3 Кб, 36 просмотров)

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Судя по вашему примеру, вы ничего не сделали из того, что я вам говорил.
CS3 сейчас нет под рукой. Дайте уже инстанс-имя мувику НА СЦЕНЕ, которое AS использует.
Зайдите на вкладку свойств мувика. Для этого выделяете мувик НА СЦЕНЕ. Смотрите на вкладку свойств (Properties) и впишите туда downplanescript.
И уберите все кадры с главного таймлайна, кроме одного, я вам тоже об этом писал. Иначе будет каша.
Изображения
 
__________________
Идите первым!


Последний раз редактировалось mooncar; 06.04.2011 в 21:41.
Старый 06.04.2011, 22:02
nicon вне форума Посмотреть профиль Отправить личное сообщение для nicon Найти все сообщения от nicon
  № 9  
Ответить с цитированием
nicon

Регистрация: Apr 2011
Сообщений: 7
Цитата:
Сообщение от mooncar Посмотреть сообщение
Судя по вашему примеру, вы ничего не сделали из того, что я вам говорил.
CS3 сейчас нет под рукой. Дайте уже инстанс-имя мувику НА СЦЕНЕ, которое AS использует.
Зайдите на вкладку свойств мувика. Для этого выделяете мувик НА СЦЕНЕ. Смотрите на вкладку свойств (Properties) и впишите туда downplanescript.
И уберите все кадры с главного таймлайна, кроме одного, я вам тоже об этом писал. Иначе будет каша.
Да ввел я посмотри внимательней, вот скрин собственно, чтов cs3 что в cs5. Я подумал я дурак )) вот и поставил флэш третий, я вводил это после вашего первого ответа.
Изображения
   


Последний раз редактировалось nicon; 06.04.2011 в 22:04.
Старый 06.04.2011, 22:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
nicon, у вас вписано «back».

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

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

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


 


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


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