PDA

Просмотр полной версии : Как сдвинуть _level1 ?


Fisher
17.11.2003, 19:41
Дарова корифеи :)
Возникла необходимость использовать лоад муви. Хостинг халявный и чтобы лишний раз чужие банеры не показывать решил таки - хотя и недолюбливаю эту штуку. Теперь вот загвоздка такая. Флэшики которые будут лодится писались сами по себе ну и есесно в качестве рута при адресации используют самих себя. При подгрузке в таргет всю адресацию прийдется переписывать а этого не хотелось бы :(
(Мораль: используйте относительную адресацию :p )
Решено! Грузим в левел! Но!!!
Левел нельзя позиционировать - во всяком случае у меня не получилось :(. Может кто подскажет как это сделать. Или мож какой другой подход или обходной маневр?
Почему например
_root._x = 50;
_root._y = 50;
работает а
_level1._x = 50;
_level1._y = 50;
никак не хочет :confused:

Nox Noctis
17.11.2003, 19:47
потому что
до того как ты в левел# что-то загрузишь,
левел# == undefined...
а во время загрузки свойства никакие в объекте не пишутся

так что надо сразу ПОСЛЕ окончания загрузки выполнить _level#._x = ..., _level#._y = ...

Fisher
17.11.2003, 20:12
Спасибо :)

Fisher
18.11.2003, 20:40
Все действительно работает при наличии окончательной загрузки левела :) Еще раз земной поклон :)
Двигаемся далее и натыкаемся на следующую продлему :(
Как отследить эту самую окончательную загрузку? Иссыхающий как летняя пашня ум находит грубое и не очень надежное решение:

Грузим одновременно и в таргет и в левел
on (release) {
loadMovie("TT/mv1.swf", "target");
loadMovieNum("TT/mv1.swf", 1);
}

А в таргете пишим
onClipEvent (load) {
_visible = false;
}
onClipEvent (data) {
_level1._x = 100;
_level1._y = 100;
unloadMovie(this);
}

Помогите кто имеет опыт. А в идеале хотелось бы воще иметь в основном клипе общий прелодер который бы показывал процент загрузки.
Прелодер на лоад муви. Осуществимо ли это? Помогите.

Nox Noctis
19.11.2003, 16:44
вот :)
способ прост как апельсин...
единсвенное что надо учесть - это то, что до того как загрузка вобще начнется (а это может произойти неизвестное количество кадров спустя - в зависимости от качества связи) ссылка на рут того левела в который вы грузите будет равна undefined.

то есть сразу после loadMovieNum("...", 666);
ссылка на _level666 будет равна undefined.
и оживет она только когда в левел придет первая порция данных...

для того чтобы ощутить что пример работает - надо его тестировать во-первых не в локалке (в локалке загрузка работает по-другому) а во-вторых чем-нить нагрузить свфник load test.swf а то он слишком быстро прилетает :)

Fisher
19.11.2003, 18:52
Спасибище огромное:)
Обкатал в реале - все чудно работает :)
var l = lv.getBytesLoaded();
var t = lv.getBytesTotal();
Я собсно в душе подозревал что это и для левела должно работать:)
Но вот проверочку
if (l && t && l>=t)
долгобы вышаманивал :) Реал дело тонкое :)
А воще прикольно загрузка идет - действительно порциями :))