Создание второго игрового окна в HaxeFlixel

Рейтинг: 1Ответов: 0Опубликовано: 09.01.2023

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

Могу ли я сразу привязать какой-нибудь стейдж к этому окну и как это сделать?

Вот все что я сделал:

override public function create()
    {
        var app = new openfl.display.Application();

        var attributes:lime.ui.WindowAttributes = {
            allowHighDPI: false,
            alwaysOnTop: false,
            borderless: false,
            // display: 0,
            element: null,
            frameRate: 60,
            fullscreen: false,
            height: 300,
            hidden: false,
            maximized: false,
            minimized: false,
            parameters: {},
            resizable: true,
            title: "second window",
            width: 300,
            x: 330,
            y: 300,
        };

        attributes.context = {
            antialiasing: 0,
            background: 0,
            colorDepth: 32,
            depth: true,
            hardware: true,
            stencil: true,
            type: null,
            vsync: true
        };

        app.createWindow(attributes);

        super.create();
    }

Все еще не понимаю что я могу вписать в параметр "elements" и "parameters"


Обновление за 10.01.2023 числа

Я нашел очень глупое решение того как я могу добавить спрайты на второе окно. Мы наш существующий спрайт отрисовываем с помощью фигур. Вообщем объяснять я не умею, поэтому просто напишу сюда код

var imageCool = new Sprite();

    override public function create()
    {
        var app = Lib.application.createWindow({
            allowHighDPI: false,
            alwaysOnTop: false,
            borderless: false,
            // display: 0,
            element: null,
            frameRate: 60,
            fullscreen: false,
            height: 500,
            hidden: false,
            maximized: false,
            minimized: false,
            parameters: {},
            resizable: true,
            title: "second window",
            width: 500,
            x: 330,
            y: 300,
        });

        var image = new FlxSprite(0, 0).loadGraphic("assets/images/freeplay.png");
        add(image);

        var rect = new Rectangle(image.x, image.y, image.width, image.height);

        app.stage.color = 0xFF010101;

        imageCool.scrollRect = rect;
        imageCool.x = 0;
        imageCool.y = 100;
        imageCool.graphics.beginBitmapFill(image.pixels);
        imageCool.graphics.drawRect(0, 0, image.pixels.width, image.pixels.height);
        imageCool.graphics.endFill();

        app.stage.addChild(imageCool);

        super.create();
    }

Пока что ПОНЯТЬ как на второй экран загрузить нужный стейдж у меня не вышло.

Ответы

Ответов пока нет.