Просмотр полной версии : fullScreen + align
Такая проблемка. Хочу сделать что бы мувик подгружался в fullScreen - movie, и выравнивался по центру.
var image_mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x=Math.round((Stage.width-target_mc._width)/2);
};
image_mcl.addListener(mclListener);
image_mcl.loadClip("mitsubishi.swf", image);
Stage.displayState = "fullScreen";
Stage.scaleMode = "noScale";
оно fullScreen нормально делает, а вот по горизонтали вообще не выравнивает. В чем тут может быть ошибка?
Infectedcell
19.07.2007, 16:45
image - это у тебя контейнер, куда ты грузишь картинку или что то еще...
попробуй выравнивать image - т.е. контейнер в который ты положил каринку или ролик =))))
но никак не сам подгружаемый ролик
mclListener.onLoadInit = function(target_mc:MovieClip) {
image._x=Math.round((Stage.width-image._width)/2);
};
image это прямоугольничек маленький. так по чем мне его выравнивать? я его поставил на (0,0) а когда проигрываю, так он у меня четь ли не по правому краю выровнян
насколько я понимаю image как контейнер нужет что бы брать координаты x,y вначале, а потом уже можно его менять image._x с помошью image._width (передается значения с погдружаемого мувика)
Infectedcell
19.07.2007, 17:04
когда ты в этот контейнер (image) подгрузишь свой ролик, твой контейнер поменяет размеры сам, по размерам ролика туда загруженного.
И только лишь после этого сработает твое событие
mclListener.onLoadInit = function(target_mc:MovieClip) {
image._x=Math.round((Stage.width-image._width)/2);
};
Просекаешь? ;)
Живой пример, не знаю убьют ли админы =$
не... упрощю по подобию.
Ты когда шарик береш - он маленький и пустой, а вот стоит тебе его надуть, - он становится большой и наполненный воздухом..
=ни фига себе=
Короче:
Пишем:
var rootMC = _root.createEmptyMovieClip(''holder'',1);
rootMC._x = Stage.width/2;
rootMC._y = Stage.height/2;
var mcl:MovieClipLoader = new MovieClipLoader();
var mclL:Object = new Object();
mclL.onloadInit = function() {
rootMC._x = Stage.width/2-root.MC._width/2;
rootMC._x = Stage.height/2-root.MC._height/2;
}
mcl.addListener(mclL);
mcl.loadClip('myPicture.swf',rootMC);
//Ну и давай его по жизни по центру на ресайз оставим, чтоб уж по-человечьи =)
function keepOnResize() {
rootMC._x = Stage.width/2-root.MC._width/2;
rootMC._x = Stage.height/2-root.MC._height/2;
}
keepOnResize();
obj = new Object();
obj.onResize=function() {
keepOnResize();
}
Stage.addListener(obj);
не работает.
идею понял. но такое чувство что мувик живет своей жизню
Infectedcell
19.07.2007, 18:24
идею понял. но такое чувство что мувик живет своей жизню
такого не бывает, пробуй =)
я мог немного ошибится, так как Флеша под рукой нет...
//
попробуй на ресайз двигать не rootMC...
напиши так:
function keepOnResize() {
var mc:MovieClip = _root.holder
mc._x = Stage.width/2-mc._width/2;
mc._x = Stage.height/2-mc._height/2;
}
типа того, опять же, говорю, Флеша под рукой нет.... но неработать не может!!! ну если я конечно нигде четь чуть не ошибся...
Я придумал такое решение:
Stage.scaleMode = "noScale";
Stage.showMenu = false;
Stage.align="TL"
fscommand ("fullscreen", true);
this.createEmptyMovieClip("image_mc", this.getNextHighestDepth());
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._x = (System.capabilities.screenResolutionX-600)/2; target_mc._y = (System.capabilities.screenResolutionY-450)/2;
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("my.swf", image_mc);
stop();
600х450 - размеры мувика который грузится
4teras, есть кнопка http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, поэтому не надо создавать несколько сообщений подряд, надо исправить последнее в теме.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.