Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как сделать, чтобы видно было весь объект Sprite на сцене? (http://www.flasher.ru/forum/showthread.php?t=211493)

nelco 11.09.2015 05:01

как сделать, чтобы видно было весь объект Sprite на сцене?
 
Код AS3:

package as3Tutorial 
{
        import flash.display.Sprite;
        import flash.display.StageDisplayState;
        import flash.display.StageScaleMode;
 
        public class Main extends Sprite
        {
                private var _stageBorder:Sprite = new Sprite();
 
 
                public function Main()
                {
                        //stage.scaleMode = StageScaleMode.SHOW_ALL;
                        //stage.displayState = StageDisplayState.NORMAL;
                        //stage.stageFocusRect = false;
 
 
                        _stageBorder.graphics.beginFill(0x000040, 1);
                        _stageBorder.graphics.lineStyle(1, 0xFFFFFF, 1);
                        _stageBorder.graphics.drawRect(0, 0, 1440, 900);
 
                        addChild(_stageBorder);
 
 
                }
 
        }
 
}

при нажатии на TestProject из FlashDevelopa открывается окно (800 на 600 по-видимому), перепробовал закомментированные в коде параметры stage, вроде отвечающие за отображение сцены, но никак не могу сделать, чтобы мой объект Sprite размерами 1440 на 900 отображался весь полностью при нажатии на TestProject... что я делаю не так, подскажите, пожалуйста! вроде элементарная задача, но не могу справиться :\

Tails 11.09.2015 10:01

Либо в настройках проекта выставите необходимые вам размеры ролика - 1440x900.
Либо меняйте масштабирование вашего спрайта. Свойства - width, height, scaleX, scaleY.

neonoviiwolf 11.09.2015 11:28

Код AS3:

[SWF(width="800",height="450",framerate="60",backgroundColor=0xffffff)]

так пишу в начале класса main

Добавлено через 2 минуты
пример
Код AS3:

package
{
        import flash.Boot;
        import flash.events.Event;
        import nape.geom.Vec2;
        import flash.display.Sprite;
        import nape.space.Space;
        import nape.util.Debug;
        import nape.util.ShapeDebug;
        import objectsGames.ObjectsGames;
        [SWF(width="800",height="450",framerate="60",backgroundColor=0xffffff)]
 
        public class Main extends Sprite
        {
                public function Main()
                {

Добавлено через 4 минуты
так же во FD или самом флеш плеере есть глюк, если стартовать в режиме дебиг(в релиз норм будет), то частота кадров будет 30, нужно зайти в настройки FD и поставить нужные вам значения, тогда будет норм

Добавлено через 10 минут
а если хотите, чтобы больший по размеру объект отображался на экране, просто добавте на сцену, ток координаты установите в нужном вам месте, дальше используйте scaleX и scaleY, они по мне более удобный "ваш_спрайт.scaleX = 0.8", значение "1" это 100% размер вашего спрайта по оси Х. Дальше, либо методом подбора значение делаете нужный размер спрайта, либо берёте соотношение сторон вашей stage, и соответственно высчитываете на сколько должен измениться ваш спрайт по сторонам, чтобы отображение осталось коректным

caseyryan 11.09.2015 12:09

Цитата:

если стартовать в режиме дебиг(в релиз норм будет), то частота кадров будет 30
Ну, во-первых не дебиг, а дебаг, а во-вторых нет там никакого глюка)) В метатеге писать надо не framerate, а frameRate. Все параметры чувствительны к регистру, Так что для программы это два совершенно разных параметра

п.с. Кавычки можно не использовать, а писать просто height = 60, frameRate = 60

neonoviiwolf 11.09.2015 12:41

Цитата:

Сообщение от caseyryan (Сообщение 1186590)
Ну, во-первых не дебиг, а дебаг, а во-вторых нет там никакого глюка)) В метатеге писать надо не framerate, а frameRate. Все параметры чувствительны к регистру, Так что для программы это два совершенно разных параметра

п.с. Кавычки можно не использовать, а писать просто height = 60, frameRate = 60

ошибся буковкой, а за подсказку спасибо, мне этот код на форуме кто-то дал, я копернул, но тогда вопрос, почему в релиз было 60?

caseyryan 11.09.2015 23:48

Не знаю. Пока сам не увижу, не поверю


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

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