PDA

Просмотр полной версии : System.capabilities.screenResolutionX не меняется с изменением разрешения


Pitkin
29.07.2008, 20:15
Привет.

Создаю новый fla на главной сцене в первом кадре вставляю такой код:

this.onEnterFrame = function(){
trace(System.capabilities.screenResolutionX);
}

при изменении (на лету) разрешения экрана результат не меняется. Меняется только если перезапустить мувикю Как такое может быть? И что делать?

Спасибо.

chingachgoog
29.07.2008, 21:47
Быть такое может в том случае, если флешка изначально опрашивает систему только один раз, а потом уже раздает только значения сформированного объекта данных. Но это только предположение.

iNils
29.07.2008, 22:33
(Пальцев в небо) Попробуйте так
this.onEnterFrame = function(){
ASnative (11, 0) ();
trace(System.capabilities.screenResolutionX);
}

Molecula
29.07.2008, 22:47
Как вариант - через Яву, потом через ExternalInterface во флеш отрапортовать.

Pitkin
30.07.2008, 12:25
Интересный зверь конечно ASnative - но не помог...
Может в Adobe написать - функция ведь очень полезная для всяких там резиновостей - но не правильно работает...

qazwsx
30.07.2008, 12:39
Для всяких там резиновостей есть Stage.width, Stage.height да и резалюшен на сколько я помню работает...

Pitkin
30.07.2008, 12:51
Да и в том то и дело что резолюшен не работает если менять на лету - Stage.width будет такой же если я работаю c noscale ведь размер размер флешки не измениться
Как мне создать новый объект класса System.capabilities? Может это поможет...

qazwsx
30.07.2008, 12:56
Размер окна браузера изменится - значит и размер стейджа изменится

Pitkin
30.07.2008, 13:04
Соори не правильно сказал Stage.width конечно изменится - но у меня обекты меняют свои размеры относительно разрешения а при изменении Stage.width просто сдвигаются (это что бы порнографии не было) Если я буду сохранять старый Stage.width и получив новый высчитывать процентное соотношение - это не подойдет так ка я узнаю пользователь изменил разрешение экрана или просто изменил размер окна.
Как мне создать новый объект класса System.capabilities? Может это поможет...

qazwsx
30.07.2008, 14:16
Класс System.capabilities не создает обьекта... А чтое сли у тебя при ресайзе окна браузера обьекты будутм енять полажение и пользователь даже в свернутом режиме сможет все увидить это плохо?)

Pitkin
30.07.2008, 14:27
Честно говоря не понял что вы имели ввиду...

iNils
30.07.2008, 16:07
так ка я узнаю пользователь изменил разрешение экрана или просто изменил размер окна.А зачем пользователю менять разрешение в процессе работы? Я понимаю когда программа на фулскрине сама это делает, но чтобы пользователь... один случай на 100000.

chingachgoog
30.07.2008, 16:28
Если JS не позволяет динамически получать разрешение монитора (что было бы идеально для решения данной задачи), то можно с интервалами запускать микрофлешки, откуда через локал коннекшэн передавать информацию о разрешении (предполагаю, что при открытии будет получена свежая информация).

Pitkin
30.07.2008, 16:35
Конкретный пример - показываешь клиенту сайт и говоришь - а вот так наш суперрезиновый сайт ведет себя на разных разрешениях - и переключаешь разрешение - а тут опаньки... Ну конечно можно сказать заказчику что надо нажать рефреш...

etc
30.07.2008, 16:44
Конкретный пример - показываешь клиенту сайт и говоришь - а вот так наш суперрезиновый сайт ведет себя на разных разрешениях - и переключаешь разрешение - а тут опаньки... Ну конечно можно сказать заказчику что надо нажать рефреш...
А зачем вам знать разрешение экрана пользователя, если у вас сайт резиновый? Вы что, под каждое разрешение свою компоновку придумываете? А если у меня браузер всего половину экрана занимает?

chingachgoog
30.07.2008, 16:47
Заказчика надо воспитывать.
Кстати, не касаясь флеша: что случиться с остальным сайтом да и самим браузером при оригинальном динамическом переключении разрешения? А вообще с десктопом что выйдет? Жуть...

iNils
30.07.2008, 17:35
Конкретный пример - показываешь клиенту сайт и говоришь - а вот так наш суперрезиновый сайт ведет себя на разных разрешенияхДля этого нужно просто менять размер браузера. :)

Pitkin
30.07.2008, 17:37
2 _etc нее, компоновка одна и таже - все пропорционально изменяется в зависимости от разрешения - там фон во всю страницу - так он при изменении окна просто сдвигается (и другие элементы тоже) если бы он масштабировался была бы порнография вообщем легче посмотреть http://rlp.su

etc
30.07.2008, 19:09
2 _etc нее, компоновка одна и таже - все пропорционально изменяется в зависимости от разрешения - там фон во всю страницу - так он при изменении окна просто сдвигается (и другие элементы тоже) если бы он масштабировался была бы порнография вообщем легче посмотреть http://rlp.su
Так зачем вам знать разрешение экрана тогда?

Pitkin
30.07.2008, 19:24
чтобы изменять размеры других объектов в зависимости от разрешения :) да и самого фона

wvxvw
30.07.2008, 20:01
Я думаю, что вариант chinghachgooc'a должен сработать, возможно можно даже не через ЛК, а просто в ту же флешку загружать другую, которая будеть эту инфу получать (не факт, конечно, но попробовать стоит).

__etc:
Смотри, при изменении резолюции изменится и оптический, фз как еще сказать размер окна браузера, но с точки зрения системы никаких изменений не будет - т.как размер в пикселах-то останется тот же.

PS. Если честно, то, по-моему нафик не нужная фича (поменять резолюцию, и пропорционально изменить объекты), но просто из принципа можно попробывать =)

Molecula
30.07.2008, 20:16
чтобы изменять размеры других объектов в зависимости от разрешения да и самого фона
У Вас есть Stage.onResize. Что же ещё нужно.

Я зашел на тот сайт.
Свернул окно броузера.
Выставил разрешение на большее.
Открыл броузер.
Некоторые элементы подвинулись, картинка по середине осталась.
Через 14 сек автоматом разрешение вернулось в дефолт.
У меня на глазах, всё стало обратно - элементы подтянулись.

Всё ок, просто работайте дальше, позиционируйте картинку.

etc
31.07.2008, 01:49
чтобы изменять размеры других объектов в зависимости от разрешения :) да и самого фона
Вам всё-равно не нужно знать конкретное разрешение экрана для этого. Размер окна браузера один фиг не совпадает с разрешением, а посему информация о разрешении — бесполезна.