in4core
01.11.2009, 23:12
Товарищи такая проблема возникла :
Есть контент, гружу через MovieClipLoader, изначально контент имеет свойство _visible = false; Ну а в событии onLoadInit , данное свойство преобретает значение на true соответсвенно.
Проблема : если тестирую мувик через Simulate Download ( скорость 32 кб, объем загрузки 100 кб), то уже на 50% загрузки ( как показывает полоска лоадера) КЛИП меняет свойство на _visible = true; Затем полоска лоадера доходит до 100%, клип исчезает на секунду, и потом видимо происходит LoadInit и он снова появляется. С чем связаны такие аномалии?
Прелоадер сделан так по старинке: 100 кадров.
.....
_mc._visible = false;
_mcl.onLoadInit = function() { _mc._visible = true; }
_mcl.onLoadProgress = function(L1:Number, L2:Number) {
if(L1/L2!=1) { var p:Number = Math.floor(L1/L2*100); _preloader.gotoAndStop(p);}
}
Это первый случай если использую if , то появляется вторая аномалия, прелоадер играет тока до 50% в любом случае даже просто при проигрывании ролика без загрузки.
.....
_mc._visible = false;
_mcl.onLoadInit = function() { _mc._visible = true; }
_mcl.onLoadProgress = function(L1:Number, L2:Number) {
var p:Number = Math.floor(L1/L2*100); _preloader.gotoAndStop(p);
}
Во втором случае доходит как надо до 100%, но первая АНОМАЛИЯ при simulate остается(((
Где я не прав???
Если поможет вот весь код :
class com.streamLoader extends MovieClip {
var _obj:Object;
var _clipLoader:MovieClipLoader;
public function streamLoader() {
}
private function _loadContent(_content, _location, _func, _loadProgress) {
if (_content != "undefined.swf") {
_obj = new Object();
_clipLoader = new MovieClipLoader();
_clipLoader.addListener(_obj);
_obj.onLoadProgress = _loadProgress;
_obj.onLoadInit = _func;
_clipLoader.loadClip(_content,_location);
}
}
};//end of class
....
var ss = new com.streamLoader();
ss._loadContent("About.swf",_parent._cont,INIT, _progress);
function INIT() {
play();
}
function _progress() {
var _l1 = _parent._cont.getBytesLoaded();
var _l2 = _parent._cont.getBytesTotal();
var perc = Math.floor(_l1/_l2*100);
_preloader.gotoAndStop(perc);
}
Есть контент, гружу через MovieClipLoader, изначально контент имеет свойство _visible = false; Ну а в событии onLoadInit , данное свойство преобретает значение на true соответсвенно.
Проблема : если тестирую мувик через Simulate Download ( скорость 32 кб, объем загрузки 100 кб), то уже на 50% загрузки ( как показывает полоска лоадера) КЛИП меняет свойство на _visible = true; Затем полоска лоадера доходит до 100%, клип исчезает на секунду, и потом видимо происходит LoadInit и он снова появляется. С чем связаны такие аномалии?
Прелоадер сделан так по старинке: 100 кадров.
.....
_mc._visible = false;
_mcl.onLoadInit = function() { _mc._visible = true; }
_mcl.onLoadProgress = function(L1:Number, L2:Number) {
if(L1/L2!=1) { var p:Number = Math.floor(L1/L2*100); _preloader.gotoAndStop(p);}
}
Это первый случай если использую if , то появляется вторая аномалия, прелоадер играет тока до 50% в любом случае даже просто при проигрывании ролика без загрузки.
.....
_mc._visible = false;
_mcl.onLoadInit = function() { _mc._visible = true; }
_mcl.onLoadProgress = function(L1:Number, L2:Number) {
var p:Number = Math.floor(L1/L2*100); _preloader.gotoAndStop(p);
}
Во втором случае доходит как надо до 100%, но первая АНОМАЛИЯ при simulate остается(((
Где я не прав???
Если поможет вот весь код :
class com.streamLoader extends MovieClip {
var _obj:Object;
var _clipLoader:MovieClipLoader;
public function streamLoader() {
}
private function _loadContent(_content, _location, _func, _loadProgress) {
if (_content != "undefined.swf") {
_obj = new Object();
_clipLoader = new MovieClipLoader();
_clipLoader.addListener(_obj);
_obj.onLoadProgress = _loadProgress;
_obj.onLoadInit = _func;
_clipLoader.loadClip(_content,_location);
}
}
};//end of class
....
var ss = new com.streamLoader();
ss._loadContent("About.swf",_parent._cont,INIT, _progress);
function INIT() {
play();
}
function _progress() {
var _l1 = _parent._cont.getBytesLoaded();
var _l2 = _parent._cont.getBytesTotal();
var perc = Math.floor(_l1/_l2*100);
_preloader.gotoAndStop(perc);
}