Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 3 > Нужна помощь профи.


Автор: morruin 21.9.2010, 15:14
Есть сайт http://a.bogdanov.x10.mx/. Подскажите пожалуйста, как сделать то бы изображение растянулось на все окно браузера и пропорционально изменялось вместе с изменением окна браузера, так же как например здесь http://www.szymonbrodziak.com/ или http://www.holtermand.dk/.

Пробовал устанавливать 100%х100% в настройках публикации,
вот такой код stage.addEventListener(Event.RESIZE, resizeListener);

function resizeListener (e:Event):void {
trace("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight);
}

stage.scaleMode = StageScaleMode.NO_SCALE;
в настройках html: margin 0, padding 0..

Может нужен какой-то java script для этого? 

Автор: bars80080 21.9.2010, 19:47
Код

<html><head>
<style>
* { margin: 0px; padding: 0px; }
#fon img { width: 100%; height: 100%; }
#page { position: absolute; top: 0px; left: 0px; width: 100%; }
</style>
</head>
<body>
<div id="fon"><img src="zzz.jpg" /></div>
<div id="page">
content 
</div>
</body>
</html>

Автор: morruin 21.9.2010, 20:23
bars80080, я извиняюсь, возможно, за заведомо глупый вопрос, но если мой фон не просто картинка jpg , а UILoader , то как включить его в html?

Автор: nilrem 21.9.2010, 20:48
А чем вам не подходит  youImg.width = stage.stageWidth? 
Или интересует как пропорцию при этом вычислить?

Автор: morruin 21.9.2010, 20:52
nilrem , а можно поподробнее об этом? Да, интересует.. Если это подойдет для решения моего вопроса, то всем подходитsmile Просто я ещё многого не знаю.

Автор: bars80080 21.9.2010, 23:30
заработался. не втыкнул, что вопрос от флэша



Цитата(morruin @  21.9.2010,  20:52 Найти цитируемый пост)
а можно поподробнее об этом?

ну, nilrem, судя по всему советует в обработчике события resize просто приравнять ширину и высоту картинки (или что у вас там) к ширине и высоте сцены (stage)

Автор: nilrem 22.9.2010, 01:21
Да именно так я советовал.
А так же, чтобы картинка изменяла свои размеры пропорционально, надо сделать вот такой, простой, финт ушами

Код

var myImage:Bitmap; // Ваша картинка, может быть и не Bitmap а что нить другое, без разницы

stage.addEventListener(Event.RESIZE, handlerResize);

function handlerResize(event:Event = null):void{//к null приравниваю, чтобы если надо, можно было вызвать функцию не через событие, а саму по себе
  var pecent:Number = stage.stageWidth / ( myImage.width / 100 );//Проценты пропорции от ширины картинки
  myImage.width =  stage.stageWidth;
  myImage.height =  pecent * ( myImage.height / 100 );
}


ничего сложного, простейшая математика smile

Автор: morruin 22.9.2010, 07:58
Nilrem, я заменил myImage на имя моего UILoadera, Bitmap заменил на UILoader, выскакивает ошибка

1046: Type was not found or was not a compile-time constant: UILoader ...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)