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

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

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

Регистрация: Jul 2008
Адрес: Saint-Petersburg
Сообщений: 21
Отправить сообщение для Nott с помощью ICQ
Привет флешерам! Заметила тут одну тонкость. Ума не приложу, с чем она связана.
У меня есть менюшка. При нажатии на любой из пунктов меню соответствующий разделу контент (MovieClip) загружается и проявляется на странице с помощью метода, например, такого:
Код:
public static function showSiteContent() {
var myTween:Tween = new Tween(_curSiteContent, "_alpha", mx.transitions.easing.None.easeNone, _curSiteContent._alpha, 100, 10, false);
}
поначалу все работает отлично. В течение 10 секунд альфится MovieClip.
но если продолжать тыкать в пункты меню, то со временем с каждым новым разом анимация начинает выполняться всё быстрее. Вплоть до резкого появления.
"Уважаемые знатоки", подскажите, в чем загвоздка?
Может, я класс Tween как-то неправильно использую?


Последний раз редактировалось Nott; 21.07.2008 в 15:30.
Старый 21.07.2008, 15:38
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Не знаю, вроде все верно. Единственное, что в голову приходит - после того, как первый раз нажали на пункт, его _alpha становится равной 100. При последующем нажатии на этот же пункт не обнуляется прозрачность, в следствие чего происходит моментальное появление.

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

Регистрация: Jul 2008
Адрес: Saint-Petersburg
Сообщений: 21
Отправить сообщение для Nott с помощью ICQ
Вот я бы тоже так подумала. Но там переход к резкому появлению происходит медленно. Т.е. сперва альфится за 10 секунд, потом, например, за 8 и т.д. и в итоге начинает довольно резко появляться (где-то на 15ом нажатии на любой из пунктов).

Старый 21.07.2008, 15:53
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
http://www.flasher.ru/forum/showthre...ighlight=tween
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Вообще говорят, что этот класс криво написан (точно не знаю - сам не использую). Попробуйте в секундах продолжительность твина задать.

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

Регистрация: Jul 2008
Адрес: Saint-Petersburg
Сообщений: 21
Отправить сообщение для Nott с помощью ICQ
Спасибо большое за ссылку. Стыдно признаваться, но не получилось все равно.
Для начала изменила функцию.
Код:
public static function showSiteContent() {
if (myTween) {
		myTween.stop();
		}
var myTween:Tween = new Tween(_curSiteContent, "_alpha", mx.transitions.easing.None.easeNone, _curSiteContent._alpha, 100, 10, false);
}
Не помогло. На случай, чтобы можно было судить о том, как альфится, я протрейсила анимацию в onEnterFrame().
После 1го нажатия:
Код:
0
1.5625
3.515625
5.078125
6.640625
8.59375
10.15625
11.71875
13.28125
15.234375
16.796875
18.359375
19.921875
21.484375
23.046875
24.609375
26.171875
27.734375
28.90625
30.46875
32.03125
33.203125
34.765625
35.9375
37.5
39.0625
40.234375
41.796875
42.96875
44.140625
45.703125
46.875
48.046875
49.21875
50.78125
51.953125
53.125
54.296875
55.46875
56.640625
57.8125
58.984375
60.15625
60.9375
62.109375
63.28125
64.453125
65.234375
66.40625
67.578125
68.359375
69.53125
70.3125
71.484375
72.265625
73.046875
74.21875
75
75.78125
76.5625
77.734375
78.515625
79.296875
80.078125
80.859375
81.640625
82.421875
82.8125
83.59375
84.375
85.15625
85.9375
86.328125
87.109375
87.5
88.28125
88.671875
89.453125
89.84375
90.625
91.015625
91.40625
92.1875
92.578125
92.96875
93.359375
93.75
94.140625
94.921875
94.921875
95.3125
95.703125
96.09375
96.484375
96.875
97.265625
97.265625
97.65625
98.046875
98.046875
98.4375
98.4375
98.828125
98.828125
99.21875
99.21875
99.21875
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
100
После примерно 30го:
Код:
0
1.171875
1.171875
1.171875
2.734375
2.734375
2.734375
4.296875
4.296875
4.296875
6.25
6.25
6.25
7.8125
7.8125
7.8125
9.375
9.375
9.375
11.328125
11.328125
11.328125
12.890625
12.890625
12.890625
14.453125
14.453125
14.453125
16.015625
16.015625
16.015625
17.578125
17.578125
17.578125
19.140625
19.140625
19.140625
20.703125
20.703125
20.703125
22.265625
22.265625
22.265625
23.828125
23.828125
23.828125
25.390625
25.390625
25.390625
26.953125
26.953125
26.953125
28.515625
28.515625
28.515625
30.078125
30.078125
30.078125
31.640625
31.640625
31.640625
32.8125
32.8125
32.8125
34.375
34.375
34.375
35.546875
35.546875
35.546875
37.109375
37.109375
37.109375
38.671875
38.671875
38.671875
39.84375
39.84375
39.84375
41.40625
41.40625
41.40625
42.578125
42.578125
42.578125
43.75
43.75
43.75
45.3125
45.3125
45.3125
46.484375
46.484375
46.484375
47.65625
47.65625
47.65625
49.21875
49.21875
49.21875
50.390625
50.390625
50.390625
51.5625
51.5625
51.5625
52.734375
52.734375
52.734375
53.90625
53.90625
53.90625
55.078125
55.078125
55.078125
56.25
56.25
56.25
57.421875
57.421875
57.421875
58.59375
58.59375
58.59375
59.765625
59.765625
59.765625
60.9375
60.9375
60.9375
61.71875
61.71875
61.71875
62.890625
62.890625
62.890625
64.0625
64.0625
64.0625
64.84375
64.84375
64.84375
66.015625
66.015625
66.015625
67.1875
67.1875
67.1875
67.96875
67.96875
67.96875
69.140625
69.140625
69.140625
69.921875
69.921875
69.921875
71.09375
71.09375
71.09375
71.875
71.875
71.875
72.65625
72.65625
72.65625
73.828125
73.828125
73.828125
74.609375
74.609375
74.609375
75.390625
75.390625
75.390625
76.5625
76.5625
76.5625
77.34375
77.34375
77.34375
78.125
78.125
78.125
78.90625
78.90625
78.90625
79.6875
79.6875
79.6875
80.46875
80.46875
80.46875
81.25
81.25
81.25
82.03125
82.03125
82.03125
82.8125
82.8125
82.8125
83.203125
83.203125
83.203125
83.984375
83.984375
83.984375
84.765625
84.765625
84.765625
85.546875
85.546875
85.546875
85.9375
85.9375
85.9375
86.71875
86.71875
86.71875
87.5
87.5
87.5
87.890625
87.890625
87.890625
88.671875
88.671875
88.671875
89.0625
89.0625
89.0625
89.84375
89.84375
89.84375
90.234375
90.234375
90.234375
90.625
90.625
90.625
91.40625
91.40625
91.40625
91.796875
91.796875
91.796875
92.1875
92.1875
92.1875
92.96875
92.96875
92.96875
93.359375
93.359375
93.359375
93.75
93.75
93.75
94.140625
94.140625
94.140625
94.53125
94.53125
94.53125
94.921875
94.921875
94.921875
95.3125
95.3125
95.3125
95.703125
95.703125
95.703125
96.09375
96.09375
96.09375
96.484375
96.484375
96.484375
96.875
96.875
96.875
96.875
96.875
96.875
97.265625
97.265625
97.265625
97.65625
97.65625
97.65625
97.65625
97.65625
97.65625
98.046875
98.046875
98.046875
98.4375
98.4375
98.4375
98.4375
98.4375
98.4375
98.828125
98.828125
98.828125
98.828125
98.828125
98.828125
98.828125
98.828125
98.828125
99.21875
99.21875
99.21875
99.21875
99.21875
99.21875
99.21875
99.21875
99.21875
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
99.609375
100
Не сочтите, пожалуйста, объемный код за флуд. Я лично просматриваю следующую закономерность: сперва альфится с резкими скачками на протяжении всех 10ти секунд. А потом - сперва резко (с 0 до 23 процентов), а затем увеличивается альфа очень плавно (на протяжении оставшегося от 10ти секунд времени), видимо, не очень заметно для глаза, поэтому и кажется, что произошел скачок.
Может, я торможу, раз не понимаю, почему так происходит?

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

Регистрация: Jul 2008
Адрес: Saint-Petersburg
Сообщений: 21
Отправить сообщение для Nott с помощью ICQ
Цитата:
Вообще говорят, что этот класс криво написан (точно не знаю - сам не использую). Попробуйте в секундах продолжительность твина задать.
Вы меня обнадежили (может, я не такой уж тормоз) А время анимации задано непосредственно в секундах (10).

Старый 21.07.2008, 16:22
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 8  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Тот твин, что прячет контент тоже надо останавливать(если они разные).

А вообще: http://code.google.com/p/tweener/


Последний раз редактировалось 2morrowMan; 21.07.2008 в 16:24.
Старый 21.07.2008, 16:24
Nott вне форума Посмотреть профиль Отправить личное сообщение для Nott Найти все сообщения от Nott
  № 9  
Ответить с цитированием
Nott
 
Аватар для Nott

Регистрация: Jul 2008
Адрес: Saint-Petersburg
Сообщений: 21
Отправить сообщение для Nott с помощью ICQ
Мерси, сейчас поизучаю Там один метод - показывает, другой сдвигает вниз. Оба останавливаются. Работают со статическими свойствами (текущий контент и предыдущий). Вот тот, который сдвигает:
Код:
	public static function hideSiteContent() {
		if (myTween2) {
		myTween2.stop();
		}
		var myTween2:Tween = new Tween(_prevSiteContent, "_y", mx.transitions.easing.None.easeNone, _prevSiteContent._y, 700, 10, false);
	}
Перед тем, как проявлять контент, он другим методом ставится в нужную координату и альфа обнуляется.


Последний раз редактировалось Nott; 21.07.2008 в 16:37.
Старый 21.07.2008, 16:28
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
У вас написано "var myTween:Tween" то есть myTween локальная ссылка и при повторном вызове метода они никуда не ведет. Вынесите определение myTween в тело класса, а не метода.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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