Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как сдвинуть _level1 ? (http://www.flasher.ru/forum/showthread.php?t=51571)

Fisher 17.11.2003 19:41

Как сдвинуть _level1 ?
 
Дарова корифеи :)
Возникла необходимость использовать лоад муви. Хостинг халявный и чтобы лишний раз чужие банеры не показывать решил таки - хотя и недолюбливаю эту штуку. Теперь вот загвоздка такая. Флэшики которые будут лодится писались сами по себе ну и есесно в качестве рута при адресации используют самих себя. При подгрузке в таргет всю адресацию прийдется переписывать а этого не хотелось бы :(
(Мораль: используйте относительную адресацию :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

Вложений: 1
вот :)
способ прост как апельсин...
единсвенное что надо учесть - это то, что до того как загрузка вобще начнется (а это может произойти неизвестное количество кадров спустя - в зависимости от качества связи) ссылка на рут того левела в который вы грузите будет равна 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)
долгобы вышаманивал :) Реал дело тонкое :)
А воще прикольно загрузка идет - действительно порциями :))


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

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