PDA

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


Мекс
27.11.2012, 00:42
Пытаюсь растянуть флеш на ширину браузера без отступов по бокам и все получается до поры до времени, но если у монитора разрешение меньше чем разрешение флешки то снизу и сверху образуются отступы. Ткните пальцем пожалуйста где ошибся
Прилагаю скрины и код страницы

http://www.easyfoto.ru/20121126194009667.jpg

http://www.easyfoto.ru/20121126194102095.jpg


<html>
<head>
<title> flash </title>
</head>

<body>
<style>
*{margin:0;padding:0}
</style>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0"
width="100%" height="1800" id="fullscreen" align="middle">
<param name="allowFullScreen" value="true" />
<param name="movie" value="C:\Desktop\flash\666.swf" />
<param name="bgcolor" value="#FFFFFF" />
<embed src="C:\Desktop\flash\666.swf" allowFullScreen="true" bgcolor="#FFFFFF" width="100%" height="1800"
name="fullscreen" align="middle" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

</body>

</html>

Krusty
27.11.2012, 01:26
height="1800"
Если хотите 100% высоты -то и пишите 100% высоты, логично?

Zebestov
27.11.2012, 02:00
Krusty, 100% высоты в данном случае — это всего лишь высота видимой части HTML документа.
Мекс, ответ кроется внутри. Чтобы добиться точного прилегания флешки к краям документа при любых его пропорциях, необходимо указать

stage.scaleMode = StageScaleMode.NO_SCALE;

и после этого самостоятельно позиционировать элементы, опираясь на размеры, которые займет флешка в каждом конкретном случае. Значения эти хранятся в полях

var currentStageWidth:int = stage.stageWidht;
var currentStageHeight:int = stage.stageHeight;

Это единственный способ заполнить все отведенное флешке пространство, сохраняя пропорции отображения.

Krusty
27.11.2012, 02:12
Вот я и не понял из вопроса топикстартера, то ли речь про растягивание видимой части на весь экран браузера или растягивание контента по рабочей области.
флеш на ширину браузера

Мекс
27.11.2012, 03:01
рылся на форуме вот нашел сайт federationtower.ru на котором нет отступов сверху и снизу и ширина флешки растягивается под экран (повторяю только ширина), а в моем же случае отступы появляются именно сверху и снизу хотя задана определенная высота в пикселях, так почему же (и как) появляются эти отступы и как возможно убрать их и сделать все подобно выше приведенному в пример сайту?

Добавлено через 1 минуту
извиняюсь возможно суть плохо была изложена сначала поэтому надеюсь в посте выше более развернуто раскрыл свою мыслю

Добавлено через 5 минут
to Krusty, нет замысел именно в прокрутке по вертикали, но с растяжкой по ширине,так что походу неправильно выразился с самого начала

Zebestov
27.11.2012, 03:07
Каким образом расставляются точки?

Krusty
27.11.2012, 03:13
То есть ваша задача - сохранение пропорций флешки, ее ширина должна быть всегда 100% от экрана, а высота - зависит от разрешение экрана, что бы контент не исказился?

Мекс
27.11.2012, 03:18
то что на скринах, на границах рабочей области в зоне которой планируется вся работа они какбэ и показывают весь косяк в том что появляются непонятные отступы сверху и снизу.

в 3 посте поподробнее ссылочку можно как весь процесс осуществляется, как понимаю нужно через библиотеку прописывать это в символе как movieclip?*(возможно чушь несу)

Zebestov
27.11.2012, 03:23
Я все же еще раз спрошу: каким образом расставляются красные точки?

Мекс
27.11.2012, 03:23
to Krusty если правильно понял то да, обязательное условие ширина 100% от экрана, как у меня получилось и высота строго в соответствии с заданым числом пикселей (то есть если задано 2000 то строго 2000 но у меня как видно на скринах образуются ненужные области флешки в зоне где выделено зелеными стрелками а мне как раз этого и ненадо)

Добавлено через 3 минуты
просто кистью наносил в macromedia flash 8 чтобы видно было выступает за пределы рабочей рамки которая была при работе в макромедиа или нет

Krusty
27.11.2012, 03:31
Вы же понимаете, что для экрана, который имеет 2000 пикселей по ширине и для экрана, который имеет 1000 пикселей по ширине - высота должна быть пропорционально разная, иначе флешка сожмется в два раза и контент внутри нее исказится?

Zebestov
27.11.2012, 03:31
просто кистью наносил
Ну вот мы и приехали. Нужны спецы по технологиям древних, чтобы посоветовать, что там было аналогом StageScaleMode.NO_BORDER, при котором в случае меньшей ширины просто будут съедены правый и левый края.

Мекс
27.11.2012, 03:55
извиняюсь 2000 имел ввиду в высоту (для примера получается 1000 в ширину и 2000 в высоту, 3 часа ночи как никак мозг в кровати уже=)) я просто хочу аналогично изобразить www.federationtower.ru тому сайту где ширина подстраивается как надо, а высота установлена заведомо больше ширины в несколько раз и может прокручиваться, а про технологии я так понял все печально =) тогда если можете посоветуйте лучшее решение, может лучше на другой проге флеш делать и тп

Добавлено через 19 часов 51 минуту
проблему решил темку мона закрывать

Zebestov
28.11.2012, 00:45
Поделись с классом, может кому пригодится.

Мекс
28.11.2012, 02:25
Посмотрел как порекомендовали в 3 посте это в принципе и натолкнуло, картинка во флеше слегка растягивается, но это мона исправить подогнав прально размер, главное что именно видно рабочую часть как при создании и нет лишних областей


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r" />
<title>Untitled-2</title>
</head>
<body bgcolor="#ffffff">
<style>
*{margin:0;padding:0}
</style>
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="1900" id="Untitled-2" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="222.swf" /><param name="quality" value="high" /><param name="scale" value="exactfit" /><param name="bgcolor" value="#ffffff" /><embed src="C:/Desktop/222.swf" quality="high" scale="exactfit" bgcolor="#ffffff" width="100%" height="1900" name="222" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>

dark256
28.11.2012, 19:13
Погуглить по форуму "резиновая флэшка" или Resizable SWF вам видимо не судьба по жизни....

Stage.scaleMode = "noScale"
Stage.align = "TL"

function NsetInterface(){

C1._x = 0
C1._y = 0

C2._x = Stage.width
C2._y = 0

C3._x = Stage.width
C3._y = Stage.height

C4._x = 0
C4._y = Stage.height

}

this.onResize = function() { NsetInterface() }
Stage.addListener(this)
NsetInterface()

Мекс
29.11.2012, 01:43
если чо, так к слову, я не особо разбираюсь во всем еще поэтому i cannnot into "поиск по форуму". смысл мне было тогда тему создавать не?

dark256
29.11.2012, 12:58
Так удаляем, не?

Мекс
29.11.2012, 18:30
да удаляйте проблема решена