Просмотр полной версии : Внешние библиотеки
Подскажите в чем ошибка.
Почему скомпилированная флешка запускается и проигрывается в стандартном проигрывателе и не хочет запускаться на HTML странице?
Исходники тут:
http://narod.ru/disk/4524184000/libLoader.zip.html
Просмотрел почти весь почти весь форум, решения не нашел. :(
Предположил что моя проблема в неверном перелоадере.
Попытался загружать библиотеки и отслеживать загружен файл или нет
через
mclListener.onLoadInit
Возник вопрос.
Аттачить элементы загруженной библиотеки можно только внутри контейнера? или можно влюбой мувик,
как например: я загрузил мувик в _root.Board.image_mc
а приаттачить компоненты хотел бы в _root.mc
Все нормально работает. Аттачить символы загруженной библиотеки можно только к данному mc-контейнеру (в который загрузили библиотеку) и его детям.
Немного поправленный код. Так, для размышлений.
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (C)
//
///////////////////////////////////////////////////////////////////////////////
/**
* @author
* @version 1.0
* @langversion 2.0
* @playerversion 7.0
*
* filename: CGameBoard.as
*
*/
class CGameBoard extends MovieClip {
//-------------------------------------------------------------------------
//
// Class's variables
//
//-------------------------------------------------------------------------
public static var g: CGameBoard = null;
private static var _mcl: MovieClipLoader = null;
//-------------------------------------------------------------------------
//
// Constructor
//
//-------------------------------------------------------------------------
/**
* Constructor
*/
private function CGameBoard () {
g = this;
if (_mcl == null) _mcl = new MovieClipLoader();
this.init();
}
//-------------------------------------------------------------------------
//
// Intrinsic symbols
//
//-------------------------------------------------------------------------
private var addClip: MovieClip;
private var attachClip: MovieClip;
private var playSound1: MovieClip;
private var loadInfo: TextField;
//-------------------------------------------------------------------------
//
// Private variables
//
//-------------------------------------------------------------------------
private var _s1: Sound;
private var _s2: Sound;
private var _image_mc: MovieClip;
//-------------------------------------------------------------------------
//
// Private methods
//
//-------------------------------------------------------------------------
/**
*
* @private
*
*/
private function init():Void {
var app:CGameBoard = this;
this.addClip.onPress = function() : Void {
app.loadClipFromLib();
};
this.attachClip.onPress = function() : Void {
app.addClipFromLib();
};
this.playSound1.onPress = function() : Void {
app.sound1Play();
};
this._image_mc = this.createEmptyMovieClip("_image_mc", this.getNextHighestDepth());
}
/**
*
* @private
*
*/
private function loadClipFromLib () :Void {
_mcl.addListener(this);
_mcl.loadClip("lib.swf", _root.mc);
}
/**
*
* @private
*
*/
private function onLoadInit(target_mc:MovieClip):Void {
_mcl.removeListener(this);
this.loadInfo.text = "loaded to: " + target_mc;
this.addClipFromLib();
}
/**
*
* @private
*
*/
private function addClipFromLib():Void {
var clip:MovieClip = _root.mc.createEmptyMovieClip('child', 1).attachMovie("skinView2", "skinView" , 1 );
this.loadInfo.text += "\nattached to: " + clip._parent;
//var clip:MovieClip = _root.mc.attachMovie("skinView2", "skinView" , 1 );
}
/**
*
* @private
*
*/
private function sound1Play():Void {
this._image_mc.start();
}
}
Упоминать _root в классе - моветон. Постарайтесь передать ссылку на него в класс.
Спасибо огромное , буду разбираться
Огромная благодарность dimarik.
Разобрался со своими багами.
Певый исходник не работал у меня, как выяснилось только из-за того, что файлы размещенные локально находились в папке, имя которой содержало недопустимый символ
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.