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

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

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

Регистрация: Aug 2002
Сообщений: 121
Отправить сообщение для Olesolo с помощью ICQ
Question new Tween - как отменить?

Добрый день, уважаемые.

при нажатии на эту кнопку x1 - картинка зумируеться до размера 325х325 и выстраивается по координатам х=у=162.
Код:
x1.onRelease = function() {
	var s1:Tween = new Tween(mash.shkala, "_yscale", Strong.easeOut, mash.shkala._height*2, 100, 2, true);
	var x1:Tween = new Tween(mpol.pic, "_x", Strong.easeOut, mpol.pic._x, 162, 0.8, true);
	var y1:Tween = new Tween(mpol.pic, "_y", Strong.easeOut, mpol.pic._y, 162, 0.8, true);
	var w1:Tween = new Tween(mpol.pic, "_width", Strong.easeOut, mpol.pic._width, 325, 2, true);
	var h1:Tween = new Tween(mpol.pic, "_height", Strong.easeOut, mpol.pic._height, 325, 2, true);
};

а это другая кнопка go_ban, которая эту же картинку зумит до 650х650 и выстраивает по х=у=325.
Код:
go_ban.onRelease = function() {
	mpol.pic["mpol_"+hint]._visible = false;
	hint = "a2";
	mpol.pic["mpol_"+hint]._visible = true;
	var x1:Tween = new Tween(mpol.pic, "_x", Strong.easeOut, mpol.pic._x, 325, 2, true);
	var y1:Tween = new Tween(mpol.pic, "_y", Strong.easeOut, mpol.pic._y, 325, 2, true);
	var s1:Tween = new Tween(mash.shkala, "_yscale", Strong.easeOut, mash.shkala._height*2, 150, 2, true);
	var w1:Tween = new Tween(mpol.pic, "_width", Strong.easeOut, mpol.pic._width, 650, 2, true);
	var h1:Tween = new Tween(mpol.pic, "_height", Strong.easeOut, mpol.pic._height, 650, 2, true);
};

так вот, проблема в том, что если я нажму вторую кнопку (go_ban) и потом быстро(пока не закончилась анимация go_ban) щелкну по первой (x1) то зум происходит нормально, но вот передвижение глючит. Вначале нормально с 325 до 162, но в конце резко сбрасывается снова на 325.

как с этим бороться? как то можно обнулить координаты предыдущего tween?

Старый 28.02.2007, 15:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Хранить ссылки на них и стопить.

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

Регистрация: Aug 2002
Сообщений: 121
Отправить сообщение для Olesolo с помощью ICQ
хм.. не совсем понял.
пожалуйста, можешь пример привести как создать ссылку?


Последний раз редактировалось Olesolo; 28.02.2007 в 16:42.
Старый 28.02.2007, 17:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Создавать не локальную переменную с твином внутри функции, а глобальную относительно от этой функции. В другой функции стопить старые твины и забивать новыми (или не стопить, а сразу забить переменные новыми твинами).

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

Регистрация: Aug 2002
Сообщений: 121
Отправить сообщение для Olesolo с помощью ICQ
создал функцию.

Код:
function zooming() {
	var ts = new Tween(mash.shkala, "_yscale", Strong.easeOut, mash.shkala._height*2, ts1, 2, true);
	var tx = new Tween(mpol.pic, "_x", Strong.easeOut, mpol.pic._x, tx1, tx2, true);
	var ty = new Tween(mpol.pic, "_y", Strong.easeOut, mpol.pic._y, ty1, ty2, true);
	var tw = new Tween(mpol.pic, "_width", Strong.easeOut, mpol.pic._width, tw1, 2, true);
	var th = new Tween(mpol.pic, "_height", Strong.easeOut, mpol.pic._height, th1, 2, true);
}
и кнопка х1
Код:
x1.onRelease = function() {
	ts1 = 100; // размер шкалы маштаба
	tx1 = 162; // координаты куда двигать карту
	tx2 = 0.8; // скорость с которой двигать карту при перемещении
	ty1 = 162; // координаты куда двигать карту
	ty2 = 0.8; // скорость с которой двигать карту при перемещении
	tw1 = 325; // конечный размер карты при зуме - ширина
	th1 = 325; // конечный размер карты при зуме - высота
	zooming();
};
go_ban
Код:
go_ban.onRelease = function() {
	mpol.pic["mpol_"+hint]._visible = false;
	hint = "a2";
	mpol.pic["mpol_"+hint]._visible = true;
	ts1 = 150; // размер шкалы маштаба
	tx1 = 325; // координаты куда двигать карту
	tx2 = 2; // скорость с которой двигать карту при перемещении
	ty1 = 325; // координаты куда двигать карту
	ty2 = 2; // скорость с которой двигать карту при перемещении
	tw1 = 650; // конечный размер карты при зуме - ширина
	th1 = 650; // конечный размер карты при зуме - высота
	zooming();
};

таже проблема :\
или я неправильно понял?...
но почему же не работает? я заменяю значения на новые, а оно ДОвыполняет старые..

Старый 28.02.2007, 18:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Неправильно понял.
Речь шла о переменных-ссылках на твины. В функции zooming они снова локальные.

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

Регистрация: Aug 2002
Сообщений: 121
Отправить сообщение для Olesolo с помощью ICQ
хм..
честно говоря смутно понимаю, но попробую перебрать разные способы...

если не трудно, то кинь или маленький пример или ссылку где почитать про это можно.

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

Регистрация: Sep 2002
Сообщений: 30,787
Нет у меня ни примеров, ни ссылок.
Может стоит для начала понять, что такое локальная переменная, что такое локальная?

Код:
function zooming() {
	ts = new Tween(mash.shkala, "_yscale", Strong.easeOut, mash.shkala._height*2, ts1, 2, true);
	tx = new Tween(mpol.pic, "_x", Strong.easeOut, mpol.pic._x, tx1, tx2, true);
	ty = new Tween(mpol.pic, "_y", Strong.easeOut, mpol.pic._y, ty1, ty2, true);
	tw = new Tween(mpol.pic, "_width", Strong.easeOut, mpol.pic._width, tw1, 2, true);
	th = new Tween(mpol.pic, "_height", Strong.easeOut, mpol.pic._height, th1, 2, true);
}

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

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

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


 


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


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