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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 11.04.2009, 20:19
_SAM_ вне форума Посмотреть профиль Отправить личное сообщение для _SAM_ Посетить домашнюю страницу _SAM_ Найти все сообщения от _SAM_
  № 1  
_SAM_

Регистрация: May 2007
Сообщений: 159
Отправить сообщение для _SAM_ с помощью ICQ
По умолчанию Как удалить Tween?

Как удалить Tween?

Код:
myHoriTween = new Tween (my_mc,"_x", Regular.easeInOut,  100, 4, true);
	
myHoriTween.onMotionFinished = function (){
   this.yoyo()
}
мне надо удалить Tween, как это можно сделать?
Спс

Старый 12.04.2009, 00:56
alecsisk вне форума Посмотреть профиль Отправить личное сообщение для alecsisk Найти все сообщения от alecsisk
  № 2  
alecsisk

Регистрация: Feb 2008
Адрес: N.Novgorod
Сообщений: 80
Отправить сообщение для alecsisk с помощью ICQ
Код AS1/AS2:
//  импортируем нужные классы
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
 
//  создаём твин по _x от текущей координаты my_mc до 500 длительностью 2 секунды
var my_tween = new Tween (my_mc, "_x", Regular.easeInOut, my_mc._x, 500, 2, true);
 
//  вызываеться каждый кадр
onEnterFrame = function():Void {
	//  если x координата my_mc больше 260
	if (my_mc._x > 260) {
		//  останавливаем твин
		my_tween.stop();
		//  вызываем функцию yoyo
		yoyo();
		//  удаляем функцию что вызываеться каждый кадр(мдя, криво написал)
		delete onEnterFrame;
	};
}
 
 
yoyo = function():Void {
	//  тут пишем код, выполняющийся после остановки твина
	trace("finished");
}

Старый 12.04.2009, 02:48
Fatality вне форума Посмотреть профиль Отправить личное сообщение для Fatality Найти все сообщения от Fatality
  № 3  
Fatality
 
Аватар для Fatality

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
alecsisk, что вы вторите ? Во первых, какой onEnterFrame ? У вас процессор мощный ? Поздравляю, а у других может быть и нет ! Если вы хотите отслеживать изменения в твине, используйте событие tween.onMotionChanged(). А во вторых, судя по вашему коду, строчку this.yoyo() вы восприняли как вызов функции yoyo. Это не так. Метод tween.yoyo(), запускает твин в обратном направлении, создавая эффект "yoyo".
Цитата:
Как удалить Tween?
Что-же касается вас, я не совсем понял, что вы подразумеваете под "удалить твин" ? В следующей конструкции например, твин удалится сборщиком мусора автоматически, через некоторое время после того, как твин отработает и переменная перестанет быть нужна:
Код AS1/AS2:
myHoriTween = new Tween (my_mc,"_x", Regular.easeInOut,  100, 4, true);
Но я так понимаю, вам нужно совсем не это, под удалением, вы имеете ввиду остановку твина ? Тогда мне непонятно — это не ваш код и вы не понимаете что там для чего ? Как я уже говорил ранее, если не использовать событие tween.onMotionFinished(), а в нем, запуск метода tween.yoyo(), то твин "удалится", сам по себе. Но если вы хотите чтобы твин выполнился с методом tween.yoyo(), а только потом заверщился, просто удалите обработчик события tween.onMotionFinished() после вызова метода.
Код AS1/AS2:
myHoriTween = new Tween (my_mc,"_x", Regular.easeInOut,  100, 4, true);
myHoriTween.onMotionFinished = function (){
   this.yoyo()
   delete this.onMotionFinished;
}


Последний раз редактировалось Fatality; 12.04.2009 в 03:16.
Старый 14.04.2009, 16:39
alecsisk вне форума Посмотреть профиль Отправить личное сообщение для alecsisk Найти все сообщения от alecsisk
  № 4  
alecsisk

Регистрация: Feb 2008
Адрес: N.Novgorod
Сообщений: 80
Отправить сообщение для alecsisk с помощью ICQ
Fatality, из примера _SAM_ ясно что он не понимает синтаксиса. Я лишь показал простой пример с условием когда твин необходимо остановить. В пяти строчках вашего кода две содержат ошибку, вы после этого меня учите что нужно использовать onMotionChanged() ?

З.Ы. Простите, буду для вас выкладывать примеры для слабых процессоров

Старый 14.04.2009, 22:37
Fatality вне форума Посмотреть профиль Отправить личное сообщение для Fatality Найти все сообщения от Fatality
  № 5  
Fatality
 
Аватар для Fatality

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
Уважаемый alecsisk, ваш сарказм здесь совершенно неуместен ! Если бы вы были немного поумнее и повнимательнее, то обратили бы внимание, на то, что мой код тут только delete this.onMotionFinished. Остальное копи-паст кода _SAM_. Я не разбирал его код на наличие синатсических ошибок, а только показал алгоритм. Что же касается дела — из вашего сообщения видно, что синтаксиса незнаете именно вы. Код:
Код AS1/AS2:
yoyo = function():Void {
	//  тут пишем код, выполняющийся после остановки твина
	trace("finished");
}
Неможет невызывать улыбки =) И да, вы совершенно правы, я учу вас использовать встроеный метод класса Tween, который вызывается при изменении значения подконтрольного твину свойства. Ваше сообщение, всего лишь жалкая попытка оправдания незнания синтасиса АС2 и базовых принципов работы AVM.

P.S Большое спасибо, но у меня мощный процессор.

Старый 14.04.2009, 23:37
alecsisk вне форума Посмотреть профиль Отправить личное сообщение для alecsisk Найти все сообщения от alecsisk
  № 6  
alecsisk

Регистрация: Feb 2008
Адрес: N.Novgorod
Сообщений: 80
Отправить сообщение для alecsisk с помощью ICQ
Цитата:
Я не разбирал его код на наличие синатсических ошибок, а только показал алгоритм.
Если помогаете кому-то проверяйте чужой код. И не придётся оправдываться что вы тупо скопипастили.
Цитата:
я учу вас использовать встроеный метод класса Tween, который вызывается при изменении значения подконтрольного твину свойства.
onMotionFinished() - событие класса Твин. Если не можете отличиться события от свойства то грош вам цена.
Цитата:
Ваше сообщение, всего лишь жалкая попытка оправдания незнания синтасиса АС2 и базовых принципов работы AVM.
Метод yoyo() класса Tween - это базовый принцип работы AVM ? Ваши слова - бред


Последний раз редактировалось alecsisk; 14.04.2009 в 23:58.
Старый 15.04.2009, 00:15
Fatality вне форума Посмотреть профиль Отправить личное сообщение для Fatality Найти все сообщения от Fatality
  № 7  
Fatality
 
Аватар для Fatality

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
Вы не больны часом ?
1. А сами чего не проверяете ? Строчка new Tween (my_mc,"_x", Regular.easeInOut, 100, 4, true); — ошибочна. И у _SAM_ и у вас не передан 1 аргумент(кол-во времени, которе будет выполняться твин).
2. Да вы правы, но это только придирка к словам. Я хорошо различаю методы, свойства и события.
3. Вы адекватны ? Я разве писал, что "Метод yoyo() класса Tween - это базовый принцип работы AVM ?" ?
Вы плохо знаете АС2 — это не страшно, но вы с умным видом, пытаетесь доказывать глупые вещи.

Старый 15.04.2009, 08:19
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
alecsisk, onMotionFinished является свойством.

Старый 15.04.2009, 09:37
alecsisk вне форума Посмотреть профиль Отправить личное сообщение для alecsisk Найти все сообщения от alecsisk
  № 9  
alecsisk

Регистрация: Feb 2008
Адрес: N.Novgorod
Сообщений: 80
Отправить сообщение для alecsisk с помощью ICQ
1.
Код AS1/AS2:
var my_tween = new Tween (my_mc, "_x", Regular.easeInOut, my_mc._x, 500, 2, true);
два в данном случае что?

3.В конце каждого поста вы делаете вывод: "вы не знаете", "вы знаете но плохо"...В каждом посте я вас тыкаю носом в ваши ошибки. Делайте выводы.

to __etc: пойду разбираться...

Старый 15.04.2009, 11:34
Fatality вне форума Посмотреть профиль Отправить личное сообщение для Fatality Найти все сообщения от Fatality
  № 10  
Fatality
 
Аватар для Fatality

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
Я стараюсь обращать внимания на свои ошибки и исправдять их. А вы как вижу — нет.
Общий вывод:
1. Вы не знали, что у твина есть метод yoyo(). Вы приняли его за функцию.
2. Вы использовали ресурсоемкий onEnterFrame, вместо актуального в данном случае onMotionChanged.
3. Я дал вам совет, а вы, вместо того, чтобы сказать Спасибо, начали оправдыватся и искать несуществующие ошибки в моем коде и глупо придираться к словам.
4. Мне вас жаль.

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

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

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


 


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


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