PDA

Просмотр полной версии : как правильно позиционировать MC сгенерированный AS?


blacks
17.12.2007, 04:04
Привет всем!
Мой второй пост на данном форуме..
Вот продолжаю изучать флеш перебирая косточки одного ролика...

Я новичок поэтому будьте снисходительны.
(перед тем как задать вопрос поискал похожие темы..)

Есть кнопка которая генерится AS1-2 в первом кадре:

this.btf_mc.swapDepths(100);
this.btf_mc = this.target_mc.createEmptyMovieClip("btf_mc", this.stack_height + 666);
this.btf_mc._x = (Stage.width/2);
this.btf_mc._y = this.btf_mc._y = Stage.height - 24;
this.btf_mc.createEmptyMovieClip("shadow_mc", 0);
this.btf_mc.shadow_mc.blurredRect(0, 0, 24, 24, 4, 0x0102A9, 100, 2);
this.btf_mc.createEmptyMovieClip("bg_mc", 1);
this.btf_mc.bg_mc.drawRect(2, 2, 20, 20, 0, 20);
this.btf_mc.attachMovie("triangle", "fsk", 3);
this.btf_mc.fsk._x = 5;
this.btf_mc.fsk._y = 6;
this.btf_mc.onRelease = function(){
if(Stage["displayState"] == "fullScreen"){
Stage["displayState"] = "normal";
}
else{
Stage["displayState"] = "fullScreen"
}
}

Проблема в том что когда происходит переход в полноэкранный режим
кнопка остается на своем месте а не "падает" вниз...

Пробовал до кода(и после) ставить:
Stage.scaleMode = "noScale";
Stage.align = "LT"; //Left-Top see above

onLoadInit=onResize;
btf_mc.onResize = positionbtf_mc;
function positionbtf_mc() {
btf_mc._x = Stage.width - btf_mc._width;
btf_mc._y = Stage.height - btf_mc.height;
}
//positionRight();
btf_mc.onResize();

но это не помогает!...

Подскажите как совместить код чтоб все заработало :wacko: !?

Честно я смотрел множество ссылок и читал посты, коды...
Но моих знаний пока очнь мало... Метод тыка тоже не помогает....

Заранее большое СПАСИБО!!!

olexandr
17.12.2007, 10:10
вместо второго куска кода, попробу написать такое:

Stage.scaleMode = 'noScale';
Stage.align = 'TL';

function Resize() {
btf_mc._x = Stage.width - btf_mc._width;
btf_mc._y = Stage.height - btf_mc.height;
}
listenerStage = new Object();
listenerStage.onResize = function() {
_root.Resize();
};
Stage.addListener(listenerStage);
_root.Resize();

blacks
17.12.2007, 12:51
вместо второго куска кода, попробу написать такое:

Stage.scaleMode = 'noScale';
Stage.align = 'TL';

function Resize() {
btf_mc._x = Stage.width - btf_mc._width;
btf_mc._y = Stage.height - btf_mc.height;
}
listenerStage = new Object();
listenerStage.onResize = function() {
_root.Resize();
};
Stage.addListener(listenerStage);
_root.Resize();


В моем файле почемуто не работает :(
Сделал пример-тест - там работает - равняет по правой стороне :/
Плиз посмотрите мой файл.

...код ресайзинга в начале
...код кнопки можно найти под // FULLSCREEN

Спасибо!

lunariusis
17.12.2007, 14:04
У меня работает, смотри вложение(swf)... так должно быть? я почти ничего не делал, только строки

Stage.scaleMode = "noScale";
Stage.align = "LT";
setProperty("", _quality, "BEST");

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

blacks
17.12.2007, 22:26
У меня работает, смотри вложение(swf)...
что-то я не понял - работает или нет?
и какое вложение смотреть...
- просто странно ты добавил
setProperty("", _quality, "BEST");
и все заработало!?

Stage.scaleMode = "noScale";
Stage.align = "LT";
- это и так в коде есть...

olexandr
17.12.2007, 23:31
скачал, посмотрел, но разбираться с декомпилированной флешкой нет никакого желания

iNils
17.12.2007, 23:51
Обсуждение декомпилированных роликов на форуме запрещено.