Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   fullscreen + StageScaleMode (http://www.flasher.ru/forum/showthread.php?t=141681)

gloomyBrain 01.07.2010 20:47

fullscreen + StageScaleMode
 
Всем привет
Короче, то ли я чего-то не понимаю, то ли... одно из двух =)

Вот Main класс
Код AS3:

public class Main extends VKApp {
 
                public static const API_URL:String = "http://192.168.0.11/game1.php?";
 
                public function Main():void {
 
                        super("some very secret key");
                        this.addEventListener(Event.ADDED_TO_STAGE, init);
 
                }
 
                private function init(evt:Event):void {
                        super.stage.scaleMode = StageScaleMode.NO_SCALE;
                        super.stage.align = StageAlign.TOP_LEFT;
 
                        // entry point
 
                        // blah-blah-blah
                }

То есть явно указано - не масштабировать объекты на сцене.

Еще есть вот такая конструкция
Код AS3:

if (this.stage.displayState == StageDisplayState.NORMAL) {
        this.stage.displayState = StageDisplayState.FULL_SCREEN;
}else {
        this.stage.displayState = StageDisplayState.NORMAL;
}

Несмотря на явное указание StageScaleMode.NO_SCALE, контент растягивается на всю ширину экрана, а по высоте вообще перестает в него влезать.

Приложение маленькое, обращения к stage присутствуют только в 3-х местах, 2 из которых показаны выше.

Вопрос - текущее поведение это нормально? или что-то я не так делаю?


UPD
Ага, все сделал, а подумать забыл

Всем кто работает с ВКонтактом - рекомендую:
- изменять свойство wrapper.application.scaleMode
- забыть про тупо stage.scaleMode

BlooDHounD 01.07.2010 21:52

Всем, кто работает с ВКонтактом, рекомендую:
- забыть про wrapper.

ZergMaster 09.08.2010 18:17

почему?

gloomyBrain 09.08.2010 18:34

Потому что он не нужен =)
Гораздо правильнее, на мой взгляд, выглядит flash-посредник реализованный на LocalConnection

Wolsh 10.08.2010 02:09

Всем, кто работает с ВКонтактом, рекомендую: постить вопросы в правильный раздел. Переезжаем.

udaaff 10.08.2010 11:00

Враппер может понадобиться, если необходимо запостить что-то на стену.

etc 10.08.2010 15:52

Цитата:

Сообщение от udaaff (Сообщение 928037)
Враппер может понадобиться, если необходимо запостить что-то на стену.

Посредник постинг на стену также поддерживает.

varvaray 17.08.2010 11:41

а в документации для посредника не указано методов, поддерживающих постинг (

etc 17.08.2010 11:42

Тем не менее, оный существует и мы им давно пользуемся.

varvaray 17.08.2010 20:31

Уважаемый etc, а методы для посредника можно взять из враппера? или у них другой формат?

udaaff 17.08.2010 20:34

Изучите посредник повнимательнее.

etc 17.08.2010 21:38

Цитата:

Сообщение от varvaray (Сообщение 929590)
Уважаемый etc, а методы для посредника можно взять из враппера? или у них другой формат?

Да, все унифицировано.

Zebestov 17.08.2010 22:53

Flash-приложения
IFrame-приложения

Список методов разный. По первой ссылке метода saveWallPost нет.

etc, если я все равно вызову saveWallPost, окно подтверждения появится и можно дождаться события onWallPostSave/onWallPostCancel?

etc 17.08.2010 23:15

Цитата:

Сообщение от Zebestov (Сообщение 929614)
окно подтверждения появится и можно дождаться события onWallPostSave/onWallPostCancel?

Я эти события не использовал и не знаю, есть ли они. Окно точно появится. Но запостил юзер картинку или нет — мне было все равно.

Zebestov 17.08.2010 23:17

Спасибо за подсказку.
А насчет событий может знает кто?

varvaray 18.08.2010 11:21

и я спасибо за подсказку и присоединяюсь к вопросу о событиях. )

RAlfDog 11.11.2010 14:19

Но если всё же если продолжить говорить о контейнере, то ...

масштабируемость контейнера я убрал - NO_SCALE
выравнивание по левому верху - TOP_LEFT
но всё равно когда задаю режим FULL_SCREEN, объекты на сцене немного увеличиваются (локально, без контейнера, работает нормально)!

mikhailk 06.07.2011 13:06

Прошу не пинать ногами, поскольку использую враппер. :)
Но переписывать под посредник пока желания нет.

Переключаю так:

Код AS3:

wrapper.application.scaleMode = StageScaleMode.NO_SCALE;
stage.displayState = StageDisplayState.FULL_SCREEN;

Почему-то все равно происходит скалирование (приложение растягивается по ширине на весь экран). При этом значение wrapper.application.scaleMode равно noScale (проверяю после перевода в фуллскрин).

etc 06.07.2011 14:32

А просто stage.scaleMode = StageScaleMode.NO_SCALE не рулит?

mikhailk 06.07.2011 14:43

нет, не рулит
пробовал выставлять и там и там

причем, чего-то вообще непонятное происходит
смотрю дефолтное значение wrapper.application.scaleMode - там изначально стоит "noScale"
чудеса какие-то

Добавлено через 13 минут
Похоже, глюк контейнера...
Попытка выставить StageScaleMode.EXACT_FIT вообще приводит к непредсказуемым последствиям (показывается верхний левый угол, как будто монитор в полтора раза выше и полтора раза шире реального), причем деформация не пропадает после возврата в нормальный режим.

RAlfDog 06.07.2011 15:35

Я думаю ВКонтакте свой wrapper до ума доводить уже не собираются, он уже мало кому нужен. Пользуйте Flash-посредника или, что еще лучше, делайте iFrame-приложения :)

И сильно не надо переделывать ваше приложение, сделайте обёртку вокруг стандартного APIConnection, или Dictionary вам в помощь.

mikhailk 06.07.2011 15:56

Видимо придется отказаться от контейнера, все равно планировался переход на iFrame...
То, что они не будут его доводить до ума - это да. Они в открытую пишут, что не рекомендуют его использовать. :)

Zebestov 06.07.2011 16:05

Когда-то я использовал wrapper и избавлялся от масштабирования приложения в случае запуска со стены такой простой строчкой:

Код AS3:

scaleX = scaleY = 1 / parent.scaleX;

хотя, как я вижу, запрет масштаба тоже у меня был:

Код AS3:

stage.scaleMode = StageScaleMode.NO_SCALE;

Может это как-то поможет в твоем случае.

mikhailk 06.07.2011 16:14

нет, это все мимо кассы...
parent.scaleX = 1 и parent.parent.scaleX = 1 - тоже

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

Zebestov 06.07.2011 16:21

Я просто не использовал больше ничего кроме этих двух строк. Ну т.е. не писал ничего насчет скейла для враппера.

mikhailk 06.07.2011 17:56

все :)
решение принято, пополз на айФрейм


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

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