Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   не работает код в интернете (http://www.flasher.ru/forum/showthread.php?t=135018)

Bankomat 14.01.2010 09:20

не работает код в интернете
 
вот сделал флешку из нескольких swf
получилось так:

есть флешка с картинками(karrtinki.swf), картинки беруться кодом из xml
есть флешка с анимацией(animacia.swf), рисовано от руки во флеше
есть флеш с текстом(text.swf), береться из xml
есть текст с фоном(fon.swf), нарисован от руки во флеше

все эти флешки подгружаются в отдельную флешку(new.swf) таким образом
1 слой
Код AS1/AS2:

var my_mcl:MovieClipLoader=new MovieClipLoader(); 
my_mcl.loadClip("fon.swf",1);

2 слой
Код AS1/AS2:

var my_mcl:MovieClipLoader=new MovieClipLoader(); 
my_mcl.loadClip("kartinki.swf",2);

и тд

в итоге, файл new.swf работает на локальной машине
выкладываю все это дело на ucoz например, вставляю флешку на страницу и ничего не показывает
код не работает..
что с этим делать? пробовал при экспортировани swf указывать access network only все так же не работает..

Добавлено через 16 минут
кстати, у меня предлодеров нету ниводной, может быть изза этого? и как сделать предлодеры? на каждый ролик? или можно только в файле который на страницу ставиться new.swf?

mooncar 14.01.2010 10:26

Странно - у вас MCL грузит swf-ки в контейнеры с названиями 1 и 2? Или это вы типа уровни та задаете. Синтаксис другой:

Код:

loadClip (MovieClipLoader.loadClip method)
public loadClip(url:String, target:Object) : Boolean

Вторым аргументом задается мувик-контейнер, куда грузите. Создайте пустой клип и туда грузите.

Еще есть подозрение, что у вас ролик new что-то начинает делать, не дождавшись полной загрузки swf-ок (например, переходит на второй кадр или пытается как-то управлять загруженным контентом).
Класс MCL сам практически является прелоадерем, его для этого и придумали.
У него есть обработчики событий, например onLoadInit. Только по этому событию и нужно, если что, выполнять какие-то дальнейшие действия в основном ролике или загруженных.
Покажите побольше кода.

Bankomat 14.01.2010 10:49

у меня есть основной ролик new.swf в нем 4 слоя, в каждом слое по кадру
в каждом кадре по коду с добавлением swf
1 это не контейнер, это я так слои обозначаю, что над чем должно быть
во флешке больше ничего нет, не файлов не мувиков, только 4 слоя с одним кадром и в каждом слое свой код на загрузку sfw

Код AS1/AS2:

var my_mcl:MovieClipLoader=new MovieClipLoader(); 
my_mcl.loadClip("fon.swf",1);

есть ролик с картинками kartinli.swf которые беруться из xml
в ролике 1 слой и 1 кадр в котором следующий код
Код AS1/AS2:

Stage.align = "tl";
Stage.scaleMode = "noscale";
import flash.filters.BlurFilter;
var images = [];
var picts_xml:XML = new XML();
picts_xml.ignoreWhite = true;
picts_xml.onLoad = function(success) {
        if (success) {
                var totalPictures = this.firstChild.childNodes.length;
                for (var k = 0; k<totalPictures; k++) {
                        images[k] = this.firstChild.childNodes[k].attributes.link;
                }
                loadImage();
        } else {
                trace("xml не загружен");
        }
};
picts_xml.load("picts.xml");
var container = _root.createEmptyMovieClip("picts_cont_mc", _root.getNextHighestDepth());
var loaderBox = container.createEmptyMovieClip("loaderBox", 0);
loaderBox.cacheAsBitmap = true;
container.onResize = function() {
        this._x = Math.round((Stage.width-this._width)/2);
        this._y = Math.round((Stage.height-this._height)/2);
};
Stage.addListener(container);
var mcl:MovieClipLoader = new MovieClipLoader();
var currentImage = 0;
var loadListener = {};
var interval:Number;
loadListener.onLoadInit = function(target_mc) {
        container.onResize();
        currentImage++;
        if (currentImage == images.length) {
                currentImage = 0;
        }
        interval = setInterval(loadImage, 6000);
        target_mc._alpha = 0;
        target_mc.filters = [new BlurFilter(10,10,3)];
        target_mc.onEnterFrame = function() {
                if (this._alpha<100) {
                        this._alpha += 10;
                        var f = this.filters[0];
                        f.blurX = f.blurY=(100-this._alpha)/10;
                        this.filters = [f];
                } else {
                        this.filters = null;
                        delete this.onEnterFrame;
                }
        };
};
mcl.addListener(loadListener);
function loadImage() {
        clearInterval(interval);
        mcl.loadClip(images[currentImage], loaderBox);
};

есть ролик fon.swf там просто в первом кадре нарисован некий фон не кода ничего нет

есть ролик text.swf в 2 слоя и 1 кадр, в одном слое кнопка, в другом динамические поля текста, текст береться из xml

Код AS1/AS2:

var picts_xml:XML = new XML();
picts_xml.ignoreWhite = true;
 
picts_xml.onLoad = function(success) {
        if(success) {
                allPicts = picts_xml.firstChild.childNodes.length;
                showPict();
        } else {
                trace("xml не загружен");
        }
}
 
// шаг 3
// загрузка xml файла
picts_xml.load("picts.xml");
 
 
var curPict = 0;
var allPicts = 0;
 
var pict_mcl:MovieClipLoader = new MovieClipLoader();
 
showPict = function () {
 
                var pict_title = picts_xml.firstChild.childNodes[curPict].attributes.title;
                var pict_title2 = picts_xml.firstChild.childNodes[curPict].attributes.title1;
 
        pict_info.text = pict_title;
        pict_cost.text = pict_title2;
        }
nextPict = function () {
        curPict++;
        if (curPict>=allPicts) {
                curPict = 0;
        }
        showPict();
};
nextPict();
setInterval(nextPict,6000);

и есть ролик с анимациеq verh.swf там 180 кадров анимации в 180 кадре стоит переход на первый кадр

во всех флешках fps 30

Hauts 14.01.2010 11:10

Узнаю свой код. :)

Bankomat 14.01.2010 11:27

а что посоветуешь с просмотром в инете флешки?)

Hauts 14.01.2010 11:32

Я, честно говоря, запутался в том, что вы делаете, и ничего особенного советовать не стану. Лучше объясните, что вы хотите в результате, иначе просто куски кода соединяете, и уже сложно сообразить, что к чему.

Bankomat 14.01.2010 11:43

хочу чтоб swf файл работал когда его на страницу выкладываешь, так же как он работает при запуске на локальной машине)

Hauts 14.01.2010 11:44

Я про то говорю, что вы в конечном итоге хотите получить? Что это за флэшка? И что она делает?

Bankomat 14.01.2010 11:53

в конечном итоге new.swf собирает все флешки в себе, и ее то я хочу вытащить в инет
она просто типа призентации
на локальной машине она работает, а вот когда вставляю в инете на страницу, то показывается только первый кадр этой флешки, а код не запускает.. для того чтоб подгрузились остальные...

Добавлено через 2 часа 26 минут
так я понял в чем у меня проблема, флеш оказывается видит ссылки именно с той страницы откуда он запускается, все выложил на главную страницу и пихнул все файлы и swf туда же, теперь другая проблемма=)

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


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

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