PDA

Просмотр полной версии : SWF Object-оптимизация под все разрешения


Futury
10.09.2007, 14:15
Здравствуйте!
Ребят подскажите пожалуйста, что в SWF объекте нужно напистать, что страницу с флешом оптимизировать под любое разрешение?
Вот страница http://pilot-btl.com .....на разрешении 1280х1024 отображается нормаль, стоит поставить 1024х768 флеш получается обрезаным.....помогите справиться с задачей!
Заранее спасибо!

Molecula
10.09.2007, 14:24
Странно, у меня нормальо всё, т.е. полос прокрутки нет.
А то, что он обрезается не есть дело рук СФВ Объекта.

Читайте про событие:
Stage.onResize

Futury
10.09.2007, 14:28
Мне нужно, чтоб сайт отображался в разрешении 1024х768 так же, как и на 1280х1024.....видимость такя же была (можно с полосами прокрутки)

Molecula
10.09.2007, 14:35
Ну, так про Stage.onResize читали?
Что значит "видимость такая же".
Т.е. все элементы при разрешении 1280х1024 должны быть видны при 1024х768 ?

Futury
10.09.2007, 14:38
Читал, но это не совсем то
Т.е. все элементы при разрешении 1280х1024 должны быть видны при 1024х768 ?
Да

Molecula
10.09.2007, 14:49
Так это же то, что Вам нужно.
Когда Вы изменили разрешение монитора - срабатывает событие Stage.onResize.

Вот пример простой.
var listener:Object = new Object();

this.listener.onResize = function () {
if (Stage.width>1000) {
Stage.align = "TL";
var myTween:Tween = new mx.transitions.Tween(mc, "_x", Regular.easeOut, mc._x, Stage.width-mc._width+15, .5, true);
}
if (Stage.width<1000) {
Stage.align = "TL";
var myTween:Tween = new mx.transitions.Tween(mc, "_x", Regular.easeOut, mc._x, Stage.width-mc._width+15, .5, true);
}
}
Stage.addListener(listener);

Futury
10.09.2007, 15:16
А куда этот код вписывать? В любом кадре можно?
Мне пишет следующую ошибку
**Error** Scene=главная, layer=AS, frame=2:Line 45: The class or interface 'Tween' could not be loaded.
var myTween:Tween = new mx.transitions.Tween(mc, "_x", Regular.easeOut, mc._x, Stage.width-mc._width+15, .5, true);

**Error** Scene=главная, layer=AS, frame=2:Line 49: The class or interface 'Tween' could not be loaded.
var myTween:Tween = new mx.transitions.Tween(mc, "_x", Regular.easeOut, mc._x, Stage.width-mc._width+15, .5, true);

Total ActionScript Errors: 2 Reported Errors: 2

Molecula
10.09.2007, 15:25
Да нет, лучше в первом писать всё.
Понятно, Вы используете 7-ую версию флеша, нужна 8-ая.

Futury
10.09.2007, 15:32
дык 8-ю и использую.......у меня прелоадер в первом стоит....

Molecula
10.09.2007, 15:38
А блин, сторомозил, нужно ж импортнуть классы то:

import mx.transitions.Tween;
import mx.transitions.easing.*;

Но это не принципиально.
Так перемещение будет происходить плавно.
Если же нужно мгновенная перетасовка эелементов, то просто выставляем им
mc._x
mc._y

Futury
10.09.2007, 15:50
вот исходник 28kb......посмотрите пожалуйста
у меня всё равно обрезается.......а мне нужно точно такое же отображение как при 1280х1024

Futury
11.09.2007, 11:27
Пожалуйста посмотрите исходник, мож я там не правельно вписал просто!

Futury
11.09.2007, 13:16
своего рода нужно чтоб он какбы стягивался