![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 8
|
Добрый день!
Я не являюсь опытным пользователем AS3, но пытаюсь самостоятельно сделать резиновый баннер. Потому заранее извиняюсь если задаю слишком простой вопрос. Но перегуглил всё. Варианта решения проблемы не нашёл. Прошу помочь разрешить такую задачу: имеется резиновый баннер на нём расположена общая информация и кнопки. Как указать правому объекту расположение по правому краю баннера? И можно ли вообще задавать объектам место положения? Заранее благодарен за любую помощь! Для "растяжки" баннера использовал вот этот код: import flash.display.StageAlign; import flash.display.StageScaleMode; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = "BC"; //stage.addEventListener(Event.ACTIVATE, onRes); stage.addEventListener(Event.RESIZE, onRes); this.loaderInfo.addEventListener(Event.INIT, onRes); function onRes(e:Event):void { trace(e.type); this.loaderInfo.removeEventListener(Event.INIT, onRes); } Последний раз редактировалось udaaff; 05.02.2012 в 12:51. |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
__________________
low + |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 8
|
Спасибо огромное, Jewelz !!!!
В воскресенье не дождался сразу ответа и уже не надеялся. Хотя сразу я не въезжаю как применить данную функцию (или как правильно называется данная строка). Но сейчас буду разбираться!! Ещё раз спасибо большое за отзыв!! Времени и смысла для меня изучать AS3 нету. Но ОЧЕНЬ хочется довести до ума этот баннер самостоятельно. Или правильно сказать, - с помощью профессионалов)) Добавлено через 28 часов 44 минуты И снова здравствуйте всем! По результатам суточных изысканий проблему так и не разрешил. В конечном итоге пришёл вот к этому коду: stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = "BC"; stage.addEventListener(Event.RESIZE, clResize); function clResize(e:Event):void { cl.x = stage.stageWidth - cl.width } По изложенной где только возможно информации по данной проблеме говорится что данный код единственно верный. Догадываюсь, что проблема состоит в какой-то мелкой детали, которую я в силу своей неопытности не могу определить. Прошу всех знающих указать перстнем на эту закавыку. Заранее признателен всем откликнувшимся! |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 8
|
Прилагаю к сообщению проблемный баннер.
|
|
|||||
|
Регистрация: Jan 2012
Сообщений: 8
|
Да???
Вот только получив Ваше сообщение - с первым словом - прошибла мысль "а что если попробовать открыть не оперой а другим бразером"... Немедля иду проверять!) Добавлено через 5 минут перепробовал всем кроме лисы... это полтергейст или я с этим баннером растерял все крохи мозгов... перепробовал оперу, хром, эксплорер... результат ноль.. буду сидеть думать... спасибо Вам огромное за помощь и потраченное время!!! по-крайней мере мне теперь точно известно что с кодом всё отлично. Добавлено через 19 минут Провёл следующие манипуляции: попробовал открыть баннер на ноуте; результат - в Explorer все элементы расположились как требовалось, в Opera же результат тот же. Исходя из этого прихожу к выводу, что используемый код stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = "BC"; stage.addEventListener(Event.RESIZE, clResize); function clResize(e:Event):void { cl.x = stage.stageWidth - cl.width } Но при этом подозреваю о возможном не соответствии определённых версий или самих браузеров к этому коду. Если вдруг у кого-то на это есть хоть какое-то пояснение, прошу сообщить! Ещё раз приношу свою благодарность Jewelz и PainKiller за уделённое моей проблеме время!!! |
|
|||||
|
У вас кнопка "закрыть" неправильно двигается ? Хотите чтобы она была всегда справа ? Тогда вы неправильно считаете координаты для неё, щас секунду ...
Добавлено через 13 минут Вот так у вас будет справа: Почему так: [IMG]http://s1.********************/uploads/images/2012/01/f94adb3793bc1249673d417f1e82dbcc.png[/IMG] Добавлено через 17 минут Версия браузера очень и очень редко когда может повлиять на работу флеша. Флеш выполняеться в своей отдельной среде, и на различия браузеров ему параллельно. Главное чтоб сам флеш плеер обновленный был.
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 8
|
Боюсь что скоро мне нагрубят, но при всей примитивности моей проблемы я не могу разрешить.
И правда задавался вопросом как же это код раскидывает функцию. Предполагал (а с с учётом моего уровня знаний оставалось лишь предполагать), что измерение экрана происходит автоматически, и уже после этого функция размещает кнопку по правому краю. Но оказывается всё не так просто и помимо хитрых программ надо было ещё и в школе учиться)) А теперь по сути: Уважаемый, Tails, после Вашего разъяснения я выполнил смену строки на В результате при открытии баннера в бразере всё осталось по-прежнему. Из своего малого опыта понял, что в случае ошибки в коде Adobe Flash Professional CS5 автоматически указывает на них при компиляции. Сейчас же при нынешнем коде таких ошибок он не выдаёт. Что позволяет мне думать, что ошибок и нет. Но тогда я не имею даже представления, что мне гуглить и где искать решение для своей проблемы. Остаётся только занимать вас. Привожу окончательный код: stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = "BC"; stage.addEventListener(Event.RESIZE, clResize); function clResize(e:Event):void { cl.x = (stage.stageWidth - 1024)/2+1024-cl.width; } Если ещё не окончательно достал своей проблемой века прошу указать на корень зла. Спасибо!!! |
|
|||||
|
Вот это:
Работает только тогда, когда окно флеш плеера растягивают мышкой, поэтому никаких изменений в начале нет. Чтобы выполнить позиционирование кнопки в начале, необходимо вынести её код и за пределы функций, например так:
__________________
Дети не должны знать о своих родителях |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|