Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   AIR Создание окна с SHOW_ALL (http://www.flasher.ru/forum/showthread.php?t=209528)

in4core 18.11.2014 23:36

AIR Создание окна с SHOW_ALL
 
Привет. Столкнулся с проблемой следующего характера, создаю новое Native окно, пробую добавлять в него разную графику, начал с простого шейпа 100*100. Если задать для стейджа SHOW_ALL то содержимое в нем ведет себя странно, расползнается на ВЕСЬ экран, а точнее вообще вылезает за границы. То есть работа с графикой в новом окне совершенно ведет себя иначе, чем в основном. Кто нибудь может объяснить суть этого феномена?

Начал вникать в суть , пишут про какое то скалирование 72 к 1 , что курили в адобе? Дибилы.
В итоге все равно непонятно, даже если скалировать.
Имею картинку 1920 * 1080 загружаю ее, добавляю на сцену ( размер окна такой же 1920*1080 ) начинаю подгонять, эксперементально для scaleX = scaleY = 0.065 ну вот блин откуда эта коснтнта могла появится?! Именно с ней картинка ровно ( может не до долей ) врезается в окно! идиоты... еще раз хочу про них сказать

Zebestov 19.11.2014 15:11

SHOW_ALL используют халявщики, так вам и надо :)

in4core 19.11.2014 17:41

Zebestov ну конечно блин :) У тебя 100500 кнопок разных размеров, форматов и т.п., и еще дофига элементов, попробуйка на онРесайз каждый элемент крутить, ой как удобно! Это вопервых. Во вторых - если не задумываться и ресайзить сразу весь baseView со всеми внутренностями, то имеет место быть, что у некоторых элементов есть маска и размер контейнера будет при таком случае непропорциональным, короче пиндосы опять порадовали. Не даром Задорнов их хвалит

Zebestov 19.11.2014 17:45

Ну, во-первых, SHOW_ALL я назвал инструментом халявщиков не потому, что само по себе растягивание контента на всю площадь является не нужным, а потому, что его легко имитировать в пару строк, зато предсказуемо и даже более гибко.

А во-вторых, для всего выше перечисленного я использую небольшую утилиту, которая выравнивает объекты (DisplayObject & Rectangle) и несказанно упрощает жизнь.

:p

in4core 19.11.2014 19:56

Цитата:

что его легко имитировать в пару строк
Его не возможно имитировать в пару строк, если у некоторых элементов имеются списки в N высотой или длинной, которые под маской. В любом другом случае, конечно в пару строк.
Утилита это конечно все хорошо, но нет такой утилиты, которую не написать самому :)
Ладно, разговор то о другом немного был, поругание адобовцев, а не нахождение решения через но_скейл, это я и так знаю.

Zebestov 19.11.2014 19:59

Ну т.е. ты заранее не знаешь, какой у тебя "базовый" размер имеет твой viewport?

in4core 20.11.2014 03:57

Цитата:

Ну т.е. ты заранее не знаешь, какой у тебя "базовый" размер имеет твой 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
Вуяля супер баг детектед!

Zebestov 20.11.2014 04:16

Цитата:

Сообщение от in4core (Сообщение 1175193)
Да, конечно не знаю, так как все довольно динамически…

Все сказанное тобой в свое оправдание обнаруживает твою лютую некомпетентность в данном вопросе )) без обид!

Цитата:

Сообщение от in4core (Сообщение 1175193)
Вуяля супер баг детектед!

Ух ты! Про этот "баг" даже в документации сказано, внезапно.

in4core 20.11.2014 14:49

Цитата:

Все сказанное тобой в свое оправдание обнаруживает твою лютую некомпетентность в данном вопросе )) без обид!
Зачем обижаться, может и правда некомпетентность - расскажи ка мне про свою компетентность, научусь глядишь чему :)

Цитата:

Ух ты! Про этот "баг" даже в документации сказано, внезапно.
Ткни носом где про этот баг написано ))) А лучше перечитай по пунктам, что я отписал, там совсем о другом написано.

Zebestov 20.11.2014 14:58

Цитата:

Сообщение от in4core (Сообщение 1175211)
Зачем обижаться, может и правда некомпетентность - расскажи ка мне про свою компетентность, научусь глядишь чему )

Даже не знаю, что тут рассказывать. Ну давай так: иди от крупного к мелкому.
Данность — размер окна.
Первый уровень — расчет размеров и расположения крупных блоков.
Второй уровень — выравнивание более мелких элементов относительно крупных блоков.

Цитата:

Сообщение от in4core (Сообщение 1175211)
Ткни носом где про этот баг написано.

Цитата:

Если задать для свойства Stage.scaleMode значение StageScaleMode.NO_SCALE, когда пользователь изменяет размеры окна, содержимое рабочей области сохраняет заданный размер, а свойство stageWidth изменяется, отражая новую ширину области экрана, занимаемой SWF-файлом.


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

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