Я делаю флеш игру, и у меня есть постановочная маска, чтобы ваш персонаж мог видеть только ее часть. Тем не менее, я не хочу маскировать всю сцену, я хочу только маскировать «Игровую зону». Представь, что моя сцена 800х800. Тем не менее, «Игра» занимает только область сверху, 800 на 600. Внизу есть 200 пикселей, где я могу использовать для общения или отображения информации, когда ваш персонаж ходит по игровой зоне.
Проблема в том, что я настраиваю свою маску, и она маскирует / все / на сцене. Даже если у меня есть что-то за пределами «игровой зоны», оно все еще скрыто за маской. Итак, мой вопрос в том, как я могу использовать свою маску в «игровой области» в моем приложении флэш-памяти, чтобы не затронуть другие части моего приложения? Могу ли я выборочно положить предметы над маской?
Спасибо!
Редактировать: Уточнение. Моя игра начинается с инициализации объекта GameScreen:
game = new GameScreen(); //800 x 600. Declared as class variable
game.y = 40;
addChild(game);
Перед этим, чтобы сделать маску полностью черной, я поставил черный прямоугольник за игровым экраном:
var rect:Shape = new Shape();
rect.graphics.lineStyle(1, 0x000000);
rect.graphics.beginFill(0x000000);
rect.graphics.drawRect(0,0,800,600);
rect.graphics.endFill();
rect.y = 40;
addChild(rect);
///
/// Start the game
///
game = new GameScreen();
game.y = 40;
addChild(game);
Когда объект GameScreen инициализируется, он создает «дыру», чтобы вы могли видеть своего персонажа.
fogOfWar = new CircleMask();
addChild(fogOfWar);
this.mask = fogOfWar;
fogOfWar.x = player.x;
fogOfWar.y = player.y;
Итак, теперь у нас есть настройки игры с круглым отверстием в маске, и игрок может видеть своего персонажа. Однако, также, когда объект Game Screen инициализируется, он помещает информационную панель на экран. Эта информационная панель также скрывается маской. Игрок не может видеть его. Проблема в том, что я хочу, чтобы эта панель (и другие компоненты, которые будут добавлены позже) была видна игроку всегда. Я не могу просто изменить форму «дыры» в маске, потому что она движется вместе с игроком. Так как же я могу позволить игроку видеть эту информационную панель, пока она скрывает игровую область?
Еще раз спасибо!