PDA

Просмотр полной версии : класс Tween тормозит систему.


ir73
24.02.2006, 11:24
Заметил, что если флешку проигрывать через браузер, то флешки, использующие программный твин очень тормозят? Есть ли способ уменьшить тормоза?

Заметил, что про использовании классса твин уже при его обьявлении, например так, в окне дебагера видим:
Warning: broadcastMessage is not a function

то есть Твин пытается каждые 50 мс заброадкастить евент. Думаю что тормоза от этого.

Кто либо соталкивался с такой задачей?

MOHCTEP
24.02.2006, 16:38
Наверное здоровенные и сложные объекты двигаешь. У меня на небольших фотках тормозов не видно, все вроде плавно и красиво...

ir73
24.02.2006, 16:43
нет, простые обьекты!

ir73
24.02.2006, 16:46
а можешь дать линку на твой пример?

ir73
24.02.2006, 16:47
у меня твин проодит в классе, который экстендится мувиклипом. Вот при обьявлении этого класса начинается постоянный броадкаст
Warning: broadcastMessage is not a function
Warning: broadcastMessage is not a function
Warning: broadcastMessage is not a function
Warning: broadcastMessage is not a function
.....

MOHCTEP
24.02.2006, 17:37
а можешь дать линку на твой пример?
Оки. Как найду кину в сетку.
2 Походу у тебя обработчик этой самой бродкаст мессаги недоступен...

MOHCTEP
24.02.2006, 18:14
Вот тут (http://www.e-kool.ee/~igor44/) глянь

ir73
24.02.2006, 20:39
так а как может быть обработчик недоступен, если броадкаст вещает "в никуда". То есть его дело вещать, а уже мое дело подписывать на него листенеры или нет.

ir73
24.02.2006, 20:45
а твой пример у меня не открывется вообще, серый квадрат

Antares
24.02.2006, 22:12
Обработчик может быть private методом.
Класс Tween в твоем случае ни при чем. Видимо ты просто экземпляры его не удаляешь, когда надо, вот они и копятся.

ir73
24.02.2006, 22:32
Antares, в том то и дело, что броадкаст начинается с того момента, когда переменную просто обьявляешь
class Myclass extends MovieClip {

public var tw:Tween; // уже тут при обьявлении переменной начинается
// страшный броадкаст

public function MyClass () {

}

public function doTween() {
tw = new Tween(..);
}


}

MOHCTEP
24.02.2006, 22:56
А где, собсно, импорт класса твин?
2. Чего-то там с серваком похоже. Млин, некуда кинуть пока что...
class Myclass extends MovieClip {
import mx.transitions.Tween;
public var tw:Tween; // уже тут при обьявлении переменной начинается
// страшный броадкаст

public function MyClass () {

}

public function doTween() {
tw = new Tween(..);
}


}

ir73
24.02.2006, 22:57
импорт есть. Пример по памяти писал, упустил. Все работает же )

ir73
24.02.2006, 23:06
опа, нашел что надо не так
public var tw:Tween

а так
public var tw:Object

MOHCTEP
24.02.2006, 23:26
Отлично!:))))

Antares
25.02.2006, 02:21
опа, нашел что надо не так
public var tw:Tween

а так
public var tw:Object
Это с чего вдруг?

ir73
25.02.2006, 02:23
на макромедийном сайте в статье про твин так написано

ir73
25.02.2006, 02:26
странно, в хелпе написано :Tween , а на сайте :Object
http://www.macromedia.com/devnet/flash/articles/tweening_05.html

7thsky™
25.02.2006, 02:27
public var tw:Tween


Эта строка сама по себе ничего неделает, ее даже в swf результирующем не будет, так что не может "... уже тут при обьявлении переменной начинается страшный броадкаст..."
ищи в другом месте косяки

ir73
25.02.2006, 02:33
в том то и дело, что может. Эксперимент проводил:
пустой класс, в нем только эта переменная. Класс наследует мувик и присвоен мувику на сцене.
Запускаем - идет броадкаст

Antares
25.02.2006, 02:38
Господин, вы рассказываете сказки опытным разработчикам или раскрываете не весь код.

ir73
25.02.2006, 16:42
виноват. Повторный эксперимент показал что рассказываю сказки.