![]() |
AIR Создание окна с SHOW_ALL
Привет. Столкнулся с проблемой следующего характера, создаю новое Native окно, пробую добавлять в него разную графику, начал с простого шейпа 100*100. Если задать для стейджа SHOW_ALL то содержимое в нем ведет себя странно, расползнается на ВЕСЬ экран, а точнее вообще вылезает за границы. То есть работа с графикой в новом окне совершенно ведет себя иначе, чем в основном. Кто нибудь может объяснить суть этого феномена?
Начал вникать в суть , пишут про какое то скалирование 72 к 1 , что курили в адобе? Дибилы. В итоге все равно непонятно, даже если скалировать. Имею картинку 1920 * 1080 загружаю ее, добавляю на сцену ( размер окна такой же 1920*1080 ) начинаю подгонять, эксперементально для scaleX = scaleY = 0.065 ну вот блин откуда эта коснтнта могла появится?! Именно с ней картинка ровно ( может не до долей ) врезается в окно! идиоты... еще раз хочу про них сказать |
SHOW_ALL используют халявщики, так вам и надо :)
|
Zebestov ну конечно блин :) У тебя 100500 кнопок разных размеров, форматов и т.п., и еще дофига элементов, попробуйка на онРесайз каждый элемент крутить, ой как удобно! Это вопервых. Во вторых - если не задумываться и ресайзить сразу весь baseView со всеми внутренностями, то имеет место быть, что у некоторых элементов есть маска и размер контейнера будет при таком случае непропорциональным, короче пиндосы опять порадовали. Не даром Задорнов их хвалит
|
Ну, во-первых, SHOW_ALL я назвал инструментом халявщиков не потому, что само по себе растягивание контента на всю площадь является не нужным, а потому, что его легко имитировать в пару строк, зато предсказуемо и даже более гибко.
А во-вторых, для всего выше перечисленного я использую небольшую утилиту, которая выравнивает объекты (DisplayObject & Rectangle) и несказанно упрощает жизнь. :p |
Цитата:
Утилита это конечно все хорошо, но нет такой утилиты, которую не написать самому :) Ладно, разговор то о другом немного был, поругание адобовцев, а не нахождение решения через но_скейл, это я и так знаю. |
Ну т.е. ты заранее не знаешь, какой у тебя "базовый" размер имеет твой viewport?
|
Цитата:
Представь простую ситуацию - имеется приложение 500*500 в котором есть выпадающий список, под маской, ну как то так. Через 5 минут пришли данные и список стал высотой в 800, а через 10 минут в 1200 например и т.п. Я понимаю все зависит от приложения, как ни крути, но все же. Мне больше инитересно почему они сделали такое ограничение и откуда они придумали константу 72 к 1. Я даже больше скажу, начав изучать глубже нашел конкретный баг. 1) создаем окно ( не основное ) с SHOW_ALL и делаем трейс stage.stageWidth = 72 2) Меняем размеры окна на 800*600 например 3) делаем трейс stage.stageWidth = 800 4) грузим графику через лоадер 5) после загрузки ничего не делаем, и даже не добавляем лоадер 6) делаем трейс stage.stageWidth = 72 Вуяля супер баг детектед! |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Данность — размер окна. Первый уровень — расчет размеров и расположения крупных блоков. Второй уровень — выравнивание более мелких элементов относительно крупных блоков. Цитата:
Цитата:
|
Цитата:
Код AS3:
|
Ты видишь, что там черным по белому написано? Не используешь NO_SCALE — забудь про stageWidth ))
|
Zebestov да блин же ты чего издеваешься чтоль? ПРичем тут забудь не забудь. Я тебе показываю конкретную багу как при ШОУ_АЛЛ стейджВидтс меняется как хочет без каких либо документаций или оправданий, причем это связано с загрузкой данных
|
Нет, я не издеваюсь. Лишь указываю, что ты счел багом то, что тебе никто и не обещал (согласно документации).
|
Цитата:
А если бы - в документации не было написано , что именно 50 * 50 = 2499.333 - это тоже была бы фича? Разницы никакой, одна система. В любом случае это уже глупо обсуждать, я тебя понял - лезть в дебри и понимать почему так тебе не охота, проще сказать - да баловство это все, я вот no_scale изучил, какой я молодец )))) Zebestov - у меня такой вопрос, а ты вообще поднимал тему AIR для десктоп или только с читсым флеш работаеь? У меня просто есть вопрос специфический, может быть ты этим занимался и сможешь подсказать кое что |
Ну, что бы ни думали мы с тобой, в документации четко прописано, что все это работает "если задать для свойства Stage.scaleMode значение StageScaleMode.NO_SCALE".
Насчет "изучения NO_SCALE" — нелепо звучит как-то )) что там изучать-то? AIR для десктопа еще не пробовал. Мобильные платформы — да, особенно Android. |
Понял тебя. В любом случае может знаешь как оно : пробую сделать ресайз окна по аспект ратио. В гуглах некто приводит такой код, собственно другого в гуглах не попадается. Тут интересный вопрос, что имеется ввиду под аспект_ратио. Я пробовал отрабатывать так аспект_ратио = 1920/1080 - результат собственно плачевный, не работает как надо. И еще возможно имеет какое то значение УГОЛ ресайза? Меня интересует правый нижний, но вроде как оно автоматом стоит так...
Код AS3:
Код AS3:
|
А что означает "ресайз окна по аспект ратио"? Это ты имеешь в виду масштабирование с соблюдением пропорций?
|
Цитата:
Я привел пример со скачком из 1024 к 800, скачек мне не нужен конечно же,а планое перемещение, тоесть может быть и 1023*765 и т.п. |
Тут не подскажу, у меня мобильные игры, fullscreen, никакого ресайза окна.
|
Ок, все равно спасибо :) Может кто знает ? аууу коллеги?!
|
Коллеги - кажется я придумал решение, пока его еще не пробовал, но думаю прокатит :
для ресайза у нас имеется аж 2 события RESIZING и RESIZE у boundsEvent. Первое диспатчится сразу, как только чего то меняем и работает кривовато если e.preventDefault() и кастомизировать. Второе же выполняется уже постфактум. Так вот слушаем второе, и работаем например по ширине так : Код AS3:
|
Код AS3:
|
При правильном aspect_ratio программа повиснет. Классное решение!
P.S. И да, люблю, когда переменные носят очевидные имена, наподобие var h:int = this.width; :quiet: |
Zebestov ))) этож отруки написано ) И да - отказался я от всех решений в болото, non-resize и баста. не работает AIR ские окна стабильно.
|
| Часовой пояс GMT +4, время: 05:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.