Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Расположение объектов в резиновом баннере (http://www.flasher.ru/forum/showthread.php?t=173653)

Vektor 14.01.2012 02:45

http://www.flashandmath.com/flashcs4/pp/

Tails 14.01.2012 03:11

Вложений: 1
VA3
Вот код для вашего баннера, обратите внимание, что в конце я добавил -50, это задает отступ от правого края. Вы можете поставить любое другое значение.

Код AS3:

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = "BC";
 
// Этот код выполниться в начале, когда банер только отобразиться на экране.
cl.x = (stage.stageWidth - 1024)/2+1024-cl.width-50; // -50 это отступ от правого края
 
stage.addEventListener(Event.RESIZE, clResize);
 
function clResize(e:Event):void
{
// А этот - когда окно станут растягивать
    cl.x = (stage.stageWidth - 1024)/2+1024-cl.width-50; // -50 это отступ от правого края
}

Не стоит грешить на браузеры и бояться что вас оскорбят тоже :)

Ваш исходник:

VA3 14.01.2012 03:11

НЕВЕРОЯТНО НО ФАКТ!!))

излагаясь словами Карлсона, - "Свершилось чудо - друг спас жизнь друга!"

)))


Докладываю о решении проблемы!
Согласно последнему указанию PainKiller'а код для использования "резинового" баннера с указанием места расположения отдельных элементов (в данном случае кнопки "закрыть") должен быть следующим:
Код AS3:

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
 
 
stage.addEventListener(Event.RESIZE, clResize);
 
cl.x = stage.stageWidth - cl.width;
 
function clResize(e:Event):void
{
    cl.x = stage.stageWidth - cl.width;
}


Спасибо ОГРОМНОЕ за помощь всем кто откликнулся на просьбу!!!

в такие минуты начинаешь верить в себя, потому что веришь в людей)


позже выложу окончательную версию баннера.





p.p.s. ну надо же всё же как всё просто казалось бы) да только учиться надо))

Tails 14.01.2012 03:20

VA3
В варианте PainKiller'а при растягивании, контент баннера будет находиться в левой части.
В моем - по середине.

VA3 14.01.2012 03:21

Нет! Ну надо же счастья мне подвалило!!!

Настоящий старый Новый год!!)))))


Теперь я ещё могу задать и отступ от края!!)))

искренне не верится в такую взаимопомощь)

жаль что я тут пригодиться никак не смогу - от тем на форуме - складывается впечатление, что я не школу пропустил, а жизнь))

но. буду стараться значит не задержать переданного вами мне добра! и передам его посильными мне вещами)


Спасибо, Tails!
не буду грешить на браузеры и бояться)



не устану ещё раз всех благодарить!!)

и коль уж вспомнили о старом Новом.
а как я понимаю если он уже он у нас наступил (о чём оповестили недавние взрывы салюта) то и по всей территории России и подавно!)
а по сему желаю всем добра, любви, свершения всех заветных желаний и само собою крепкого здоровья!!

Добавлено через 5 минут
да, Tails!

с
Код AS3:

stage.align = "BC";

мне как проще далось)

но не думаю что в дальнейшем я смогу такое вытворять с расчётами, как в Вашей формуле)
как это часто бывает - казалось бы да чего там) - только а ты сделай))


СПАСИБО за уделённое моей проблеме и мне время!


повторюсь, но НЕ ВЕРИТСЯ!)

это ж надо такое)

Добавлено через 9 минут
Доброй ночи, Vektor!
честно, честно!
прежде чем озадачить всех своей незатейливой проблемой перегуглил всё что только можно.
само собою, что начинать надо с азов. да и вообще не плохо было просто знать AS3...)
но... и времени не особо
да и не стоит цель в дальнейшем переплетать свою жизнь с программированием .. поздновато уже...
потому абсолютно согласен, что книги творят чудеса)
спасибо за отзыв!)

elder_Nosferatu 14.01.2012 09:09

Вложений: 1
Немного переделал ваш код из второго поста... Проверено лично!!!
Код AS3:

import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
 
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.BOTTOM_LEFT;
 
stage.addEventListener(Event.RESIZE, onRes);
this.loaderInfo.addEventListener(Event.COMPLETE, onRes);
 
function onRes(e:Event):void {
        if (e.type == Event.COMPLETE) this.loaderInfo.removeEventListener(Event.COMPLETE, onRes);
        cl.x = stage.stageWidth - cl.width;
}

А вот и работающий Фы-Лы_А:Вложение 27440

КорДум 14.01.2012 09:11

Цитата:

Работает только тогда, когда окно флеш плеера растягивают мышкой, поэтому никаких изменений в начале нет. Чтобы выполнить позиционирование кнопки в начале, необходимо вынести её код и за пределы функций
Нахрена выносить?
Код AS3:

onRes(null);


VA3 05.02.2012 11:39

Вложений: 2
Выкладываю результат баннера.

К сожалению у меня не работает кнопка "закрыть", но с этим только предстоит разобраться.
Ещё раз огромное спасибо всем кто отозвался!


Часовой пояс GMT +4, время: 19:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.