Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Про подгрузку мувиков (http://www.flasher.ru/forum/showthread.php?t=63996)

Invisor 20.10.2004 21:47

Про подгрузку мувиков
 
Подгружаю мувик, а он оказывается в левом верхнем углу. Как задать мувику определенные координаты? Чтобы мувик подгружался в определенное место. Подскажите пожалуйста.

Antares 20.10.2004 22:16

Подгрузить, и когда загрузится, прибить к нужным координатам.

Invisor 21.10.2004 04:06

Это понятно что координаты присвоить нада. А как это сделать? Не мог бы код написать?

saiks 21.10.2004 04:58

myMovieClip.x=100
myMovieClip.y=100

saiks 21.10.2004 05:23

сори
myMovieClip._x=100
myMovieClip._y=100

Skinner 21.10.2004 11:11

Ага, но только координаты менять надо когда клип уже загружен. А загружается он не мгновенно. Я с этим подолбался. При загрузке мувик свои координаты обнуляет :)

spartan 21.10.2004 12:42

Для ентого существуют прелоадеры, а конкретнее- такие операторы как movieClip.getBytesTotal() и movieClip.getBytesLoaded().
Вот такие пироги.

Invisor 21.10.2004 20:52

Сорри, у меня туго с экшен скриптом.
Значит написал я:

loadMovieNum("movie.swf", 1);
myMovieClip._x=300;
myMovieClip._y=300;

Но все по прежнему подгружается в левый верхний угол. Я наверное, что-то не так делаю?
Идея у меня такова: есть пустой MovieClip. Мне надо чтобы при нажатии на кнопку в этот пустой MovieClip подгружался movie.swf в определенное место. Что мне надо написать в действии кнопки чтобы мой замысел осуществился? Помогите пожалуйста.

silin 22.10.2004 00:40

можно грузить в пустой мувик с заданными координатами (а также _xsacle,_yscale, _rotation - их он не обнуляет)
Код:

this.createEmptyMovieClip("cont",1);
with(this.cont){
        _x=300;
        _y=100;
        loadMovie("movie.swf")
}


Invisor 22.10.2004 11:20

Вот спасибо! Давно хотел научиться нормально мувики грузить. Но в моем случае что-то не работает...
Суть такова:
Файл movie.swf должен подгружаться с параметрами. Т.е. мне надо грузить файл не "movie.swf", а "movie.swf?sh=b2-k4". Если я пытаюсь подгрузить файлик с параметрами, то ничего не работает, если без них, то все работает.
Если использовать просто loadMovieNum("movie.swf?sh=b2-k4", 1); без всяких установок координат, то все работает.
В чем загвоздка может быть?

P.S. Параметры работают только с серваком, так что Апача у меня стоит, и не надо на нее грешить.

Invisor 22.10.2004 14:28

up

silin 22.10.2004 17:16

можно поинтересоваться, что 'все работает' , т.е. для чего чего эти параметры нужны

Invisor 22.10.2004 19:06

В ролик movie.swf подгружаются другие ролики, которые я указываю в параметрах.
Вот например:
movie.swf?sh=b2-k4
sh - через этот параметр задаемся следующими параметрами:
b2 - означает что надо использовать ролик b2.swf.
k4 - означает что из ролика b2.swf надо взять объект с идентификатором k4. Именно этот объект и должен будет нам виден когда мы подгрузим в нашу сцену movie.swf с параметрами sh=b2-k4.
Так вот "все работает" означает что после подгрузки я вижу этот объект на экране. А "не работает" - соответственно не вижу :)
Вот и интересно, как сделать так, чтобы указывать место где должен отобразиться объект и "все работало".

silin 22.10.2004 19:55

можно так
Код:

this.createEmptyMovieClip("cont",1);
with(this.cont){
        _x=300;
        _y=100;
        loadMovie("movie.swf")
}
///дожидаемся загрузки и определяем че нужно
this.onEnterFrame=function(){
        if(cont._width){
                cont.sh="b2-k4"
                delete this.onEnterFrame;
        }
}


Invisor 24.10.2004 18:42

Не работает :(
Может я тебе кину файлики, ты попробуешь сам сделать?

silin 24.10.2004 20:10

что не работает : не грузит, не выставляет в координаты, не определяет переменную sh в cont ..?
OK, сооруди пример твоей проблемы и покажи здесь - без ответа не останешься

Invisor 25.10.2004 20:44

Вложений: 1
Вот и сама задачка в аттаче.
В файле 1.swf нарисована кнопка при нажатии на которую должен подгружаться файлик с картинкой.
Наличие сервера Апачи ОБЯЗАТЕЛЬНО!

Распаковать оба архива в одну папку.

№1

Invisor 25.10.2004 20:47

Вложений: 1
№2

silin 25.10.2004 21:38

тебя же просили примерчик..
извини, не очень понятно зачем, что и как должен делать мувик items.swf : если это твое добро объясни что делаешь и что не получается, если нет - спроси у автора..

Invisor 26.10.2004 08:49

Я что-то не совсем понял какой тебе пример надо?

silin 26.10.2004 18:43

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

когда ты спрашивал конкретные вещи тебе и отвечали вразумительно, а здесь извини..

Invisor 26.10.2004 20:49

Свфка это мувик с таким кодом:
// [Action in Frame 1]
function LoadLib(lib_name, target_mc, func1, func2, loading_progressbar, dp)
{
if (!lib_name)
{
return(false);
} // end if
if (target_mc[lib_name] == undefined)
{
if (dp == undefined)
{
var _l6 = target_mc.getNextHighestDepth();
} // end if
var _l5 = target_mc.createEmptyMovieClip(lib_name, _l6);
error_loading_cnt[_l5] = 0;
func_loading[_l5] = {f1: func1, f2: func2, prgs: loading_progressbar};
my_mcl.loadClip(_global.LocalStart + "lib/" + lib_name + ".swf" + GetVers(lib_name), _l5);
}
else
{
var _l4 = my_mcl.getProgress(target_mc[lib_name]);
if (_l4.bytesTotal > 0 && _l4.bytesLoaded >= _l4.bytesTotal)
{
return(false);
}
else
{
func_loading[target_mc[lib_name]] = {f1: func1, f2: func2, prgs: loading_progressbar};
} // end if
} // end if
return(true);
} // End of the function
function ShowItem(txt)
{
_root.tkitem = txt;
if (!LoadLib(_root.tkcategory, _root, DisplayItem))
{
DisplayItem();
} // end if
} // End of the function
function GetList(base)
{
_root[_root.tkcategory].item.removeMovieClip();
_root.tkitem = "";
_root.tkcategory = base;
if (!LoadLib(_root.tkcategory, _root, CreateListItems))
{
CreateListItems();
} // end if
} // End of the function
function CreateListItems()
{
var _l5 = new Array();
var _l4 = 97;
while (_l4 <= 122)
{
var _l2 = 1;
while (_l2 <= 99)
{
var _l3 = _root[_root.tkcategory].attachMovie(String.fromCharCode(_l4) + _l2, "tmp", 3);
if (_l3 == undefined)
{
if (_l2 > 1)
{
_l5.push(String.fromCharCode(_l4) + ":" + (_l2 - 1));
} // end if
_l2 = 100;
}
else
{
_l3.removeMovieClip();
} // end if
_l2++;
} // end while
_l4++;
} // end while
getURL("javascript:SetList(\'" + _l5.join(",") + "\')", "");
} // End of the function
function DisplayItem()
{
_root[_root.tkcategory].item.removeMovieClip();
var _l2 = _root[_root.tkcategory].attachMovie(_root.tkitem, "item", 1);
_l2._x = (150 - _l2._width) / 2;
_l2._y = (135 - _l2._height) / 2;
var _l3 = _l2.getBounds();
_l2._x = _l2._x - _l3.xMin;
_l2._y = _l2._y - _l3.yMin;
} // End of the function
function GetVers(s)
{
return("");
} // End of the function
var error_loading_cnt = new Object();
var func_loading = new Object();
var my_mcl = new MovieClipLoader();
var my_mcl_Listener = new Object();
my_mcl_Listener.onLoadInit = function (target_mc)
{
if (target_mc._totalframes <= 0)
{
_root["v_" + target_mc._name] = Number(_root["v_" + target_mc._name] || 0) + Math.random();
this.onLoadError(target_mc);
return(undefined);
} // end if
delete error_loading_cnt[target_mc];
var f1 = func_loading[target_mc].f1;
var f2 = func_loading[target_mc].f2;
if (f1 != undefined)
{
if (typeof(f1) != "function")
{
var calledObject = f1;
if (typeof(calledObject) == "string")
{
calledObject = calledObject;
} // end if
var calledFunction = calledObject[f2];
if (typeof(calledFunction) == "function")
{
calledFunction.apply(calledObject, [target_mc]);
}
else
{
calledObject[f2] = target_mc;
} // end if
}
else
{
f1.apply(null, [target_mc]);
} // end if
} // end if
delete func_loading[target_mc];
};
my_mcl_Listener.onLoadError = function (target_mc, errorCode)
{
error_loading_cnt[target_mc]++;
if (error_loading_cnt[target_mc] >= 3)
{
_global.ERROR("Error opening library: \"" + target_mc._name + "\". Error code: " + errorCode);
}
else
{
my_mcl.loadClip(_global.LocalStart + "lib/" + target_mc._name + ".swf" + GetVers(target_mc._name), target_mc);
} // end if
};
my_mcl_Listener.onLoadProgress = function (target_mc, loadedBytes, totalBytes)
{
if (totalBytes > 0 && func_loading[target_mc].prgs)
{
func_loading[target_mc].prgs.percent(loadedBytes / totalBytes);
} // end if
};
my_mcl.addListener(my_mcl_Listener);
if (!_root.bg)
{
_root.attachMovie("bg", "bg", 0);
} // end if
_global.LocalStart = _root._url.indexOf("file://") == 0 ? ("") : ("/");
_root.watchUserInfo = new Object();
_root.watchUserInfo.login = "";
_root.watchUserInfo.base = "";
_root.watchUserInfo.watch("login", function (id, oldval, newval)
{
_root.ShowItem(newval);
});
_root.watchUserInfo.watch("base", function (id, oldval, newval)
{
_root.GetList(newval);
});
_global.ERROR = function (txt)
{
};
if (_root.sh.length > 0)
{
var tmp = _root.sh.split("-");
_root.tkcategory = tmp[0];
_root.ShowItem(tmp[1]);
} // end if


Спасибо что помогли с координатами :)


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

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