PDA

Просмотр полной версии : Подгружаемая флэшка не реагирует на команды


SanSan
12.10.2006, 20:30
Всем привет! Помогите.

Загружаю одну флэшку в мувиклип другой флэшки командой loadMovie.
Далее на этом клипе пишу:

onClipEvent (enterFrame) {

if (this._currentframe==130) {this.gotoAndPlay(1);}

}
-------------
В итоге если запускать из флэша (Ctrl + Enter), то работает отменно, при достижении 130-го кадра прыгает в первый и играет.
А если запускать просто с компа или выложить в нет, то не работает команда this.gotoAndPlay(1);

Менял версии свф-ки, менял паблиш сеттингс - не помогает.
Кто что думает?

iNils
12.10.2006, 20:33
А вы не реагируете на правила.
1. Название темы, смутно описывает суть вопроса
2. В разделе ActionScript писать древний код с использованием событиями 5-ки (onClipEvent) запрещен
3. Свой код надо оформлять в теги .
Перенес тему к новичкам.

Хемуль
12.10.2006, 21:02
А если запускать просто с компа или выложить в нет, то не работает команда this.gotoAndPlay(1);

Менял версии свф-ки, менял паблиш сеттингс - не помогает.
Кто что думает?
А почему вы думаете, что this.gotoAndPlay(1); не работает? Флешка доходит до 130-го кадра и останавливается?
я думаю, вам нужно использовать обьект MovieClipLoader для загрузки флешки, а в onLoadComplete назначать вашему клипу событие onEnterFrame. Как вам такая идея?

SanSan
12.10.2006, 22:49
Не останавливается, а играет дальше. Вложенная флэшка вообще не реагирует ни на стоп, ни на prevFrame, ни на гоутуэндплей. А что за MovieClipLoader ? В хэлпе 8-го флэша не ищется... Зато есть компонент Loader - это не оно?

D12
13.10.2006, 01:21
Держи пример =)

kadri = 1;
//
var mclListener:Object = new Object();
mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
var per:Number = int(bytesLoaded/bytesTotal*100);
tf = per;
};
mclListener.onLoadComplete = function(target:MovieClip) {
preloader.unloadMovie();
};
this.createEmptyMovieClip("mc", 100);
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
mcl.loadClip("me.swf", mc);
this.onEnterFrame = function() {
kadri += 1;
mc.gotoAndStop(kadri);
if (kadri >= 130) {
kadri = 1;
}
};

Хемуль
13.10.2006, 02:19
2 SanSan:
Вот пример:

var movieFileName:String = "movie.swf";
var movieContainerClipName:String = "movie";
var left:Number = 100;
var top:Number = 100;
var returnFrameNumber:Number = 130;

var movieContainerClip:MovieClip = this.createEmptyMovieClip(movieContainerClipName, this.getNextHighestDepth());
movieContainerClip._x = left;
movieContainerClip._y = top;

var movieLoader:MovieClipLoader = new MovieClipLoader();
var movieLoaderListener:Object = new Object();

movieLoaderListener.onLoadComplete = function(targetClip:MovieClip)
{
targetClip.onEnterFrame = function()
{
if (this._currentframe == returnFrameNumber + 1)
{
this.gotoAndPlay(1);
}
};
}

movieLoader.addListener(movieLoaderListener);
movieLoader.loadClip(movieFileName, movieContainerClip);

Исходник прикрепляю...

SPITFIRE
13.10.2006, 02:54
ХЕМУЛЬ УБЕРИ СТРАШНОЕ ЛИЦО!!!

iNils
13.10.2006, 03:01
SPITFIRE, я поздравляю вас с первым плюсом, берегите его.