PDA

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


Ar4ibald
16.03.2007, 15:52
Всем привет, вот с помощью скрипта по загрузке *.jpg загружаю свои изображения, но часть которая проверяет загрузку почему-то не работает.
Картинки то появляются,а больше ничего.
Возможно я его не в том месте поставил?
Помогите разобратся.

theta=new Array;
theta2=new Array;
var xoff =100;
var yoff =100;
var k = 4;
count=0;
for(var i=0;i<sites.childNodes.length;i++) { theta[i] = 0; }
var radiusY = 100;
var radiusX = 300;
var k1=radiusY+yoff;
var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = {};
var format:TextFormat = new TextFormat();
loader.addListener(listener);
format.color = 0x000000;
format.size = 25;
format.font = "_sans";
this.createTextField("preloader_txt", 1, 100, 100, 50, 30);
preloader_txt.autoSize = true;
preloader_txt.border = false;
preloader_txt.setNewTextFormat(format);
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("xmlphoto.xml");
myXML.onLoad = function(success)
{
if(success == true)
{
var sites = myXML.firstChild;
if(sites.hasChildNodes() == true) {
for(var i=0;i<sites.childNodes.length;i++)
{
name_mc="box_mc"+i;
theta[i] = 0 + (i * (360/sites.childNodes.length))+k;
var tmb=sites.childNodes[i].attributes.tmb;
_root.createEmptyMovieClip(name_mc,i);
rad = theta[i]*Math.PI/180;
xi = xoff+radiusX*Math.cos(rad);
yi = yoff+radiusY*Math.sin(rad);
alfa=(alfa-(100/sites.childNodes.length));
alfa=100-alfa; k5=k3*k2; k6=k4*k2;
setProperty (name_mc, _x, xi);
setProperty (name_mc, _y, yi);
loader.loadClip(tmb,name_mc);// =))~ } } } }

////Здесь и возник вопрос

listener.onLoadStart = function():Void {
preloader_txt.text = "0 % загружено.";
};

listener.onLoadError = function(clip:MovieClip, message:String):Void
{
if (message == "URLNotFound") { preloader_txt.text = "Ссылка не найдена.";
}
if (message == "LoadNeverCompleted")
{
preloader_txt.text = "Ошибка загрузки.";
}
};

listener.onLoadProgress = function(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
preloader_txt.text = Math.round(bytesLoaded/bytesTotal*100)+" % загружено."; };
listener.onLoadComplete = function():Void
{ preloader_txt.text="Все загружено."; };

iNils
16.03.2007, 15:55
Ваш код при вставке во флеш ругается на количество {}

Ar4ibald
16.03.2007, 16:03
Там скобки закоментированы были, извиняюсь!

theta=new Array;
theta2=new Array;
var xoff =100;
var yoff =100;
var k = 4;
count=0;
for(var i=0;i<sites.childNodes.length;i++) { theta[i] = 0; }
var radiusY = 100;
var radiusX = 300;
var k1=radiusY+yoff;
var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = {};
var format:TextFormat = new TextFormat();
loader.addListener(listener);
format.color = 0x000000;
format.size = 25;
format.font = "_sans";
this.createTextField("preloader_txt", 1, 100, 100, 50, 30);
preloader_txt.autoSize = true;
preloader_txt.border = false;
preloader_txt.setNewTextFormat(format);
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("xmlphoto.xml");
myXML.onLoad = function(success)
{
if(success == true)
{
var sites = myXML.firstChild;
if(sites.hasChildNodes() == true) {
for(var i=0;i<sites.childNodes.length;i++)
{
name_mc="box_mc"+i;
theta[i] = 0 + (i * (360/sites.childNodes.length))+k;
var tmb=sites.childNodes[i].attributes.tmb;
_root.createEmptyMovieClip(name_mc,i);
rad = theta[i]*Math.PI/180;
xi = xoff+radiusX*Math.cos(rad);
yi = yoff+radiusY*Math.sin(rad);
alfa=(alfa-(100/sites.childNodes.length));
alfa=100-alfa; k5=k3*k2; k6=k4*k2;
setProperty (name_mc, _x, xi);
setProperty (name_mc, _y, yi);
loader.loadClip(tmb,name_mc);// =))~
} } } }

////Здесь и возник вопрос

listener.onLoadStart = function():Void {
preloader_txt.text = "0 % загружено.";
};

listener.onLoadError = function(clip:MovieClip, message:String):Void
{
if (message == "URLNotFound") { preloader_txt.text = "Ссылка не найдена.";
}
if (message == "LoadNeverCompleted")
{
preloader_txt.text = "Ошибка загрузки.";
}
};

listener.onLoadProgress = function(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
preloader_txt.text = Math.round(bytesLoaded/bytesTotal*100)+" % загружено."; };
listener.onLoadComplete = function():Void
{ preloader_txt.text="Все загружено."; };

iNils
16.03.2007, 16:30
И в чем проблема? Вот я заменил часть кода (у меня вашего xmlи картинок нету)
myXML.onLoad = function (success) {
if (success == true) {
_root.createEmptyMovieClip ("name_mc", 0);
loader.loadClip ("my_clip.swf", name_mc);
}
};И в текстовое поле все отображается.

Ar4ibald
16.03.2007, 16:48
Вот исходник.
Может это из-за цикла?

iNils
16.03.2007, 18:08
Глубина тексового поля забивается потом мувиклипом.

Ar4ibald
16.03.2007, 18:27
спасибо большое.
Разобрался!

Ar4ibald
16.03.2007, 19:26
с этим разобрался!
А как из функции обьекта задать параметри какого мувика,
например

k4=getProperty(мувик,_width);

iNils
16.03.2007, 19:28
Думаете я помню как работает getProperty? :D Это устарело лет 6 назад.

Ar4ibald
16.03.2007, 19:42
так тоже не получается
k4=мувик,_width;

iNils
16.03.2007, 19:55
Не запятая только, а точка.
Область видимости надо проверить.

Ar4ibald
17.03.2007, 13:11
Ошибся когда писал.

k4=мувик._width;


все равно не позволяет с обьекта вийти.

etc
17.03.2007, 14:16
А что, так и написал «мувик» или все-таки имя мувика?

iNils
17.03.2007, 18:23
А что, так и написал «мувик» или все-таки имя мувика?Боюсь в этом случаи надо сразу уточнить, что не просто имя (из библиотеки), а instanse name (имя экземпляра)

Ar4ibald
19.03.2007, 11:50
"мувик" - это инстанс, не могу никак из объекта выйти.

iNils
19.03.2007, 11:54
Вы называете по-русски?

Ar4ibald
19.03.2007, 12:13
да нет :)
k4=name_mc._width;

спасибо огромное,я уже разобрался,функция неправильно задана была.