2016-07-06 2 views
0

Я искал продлить на вопрос, я спросил ранее здесь:Flash AS3 | Создание камеры/Moving Viewport/Zoom

Flash AS3 | Pan/Zoom with mouse input

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

Что я прошу здесь, если кто-то может помочь мне найти способ сделать это так, чтобы «окно просмотра» (то, что отображается на экране) привязано или следует за объектом вокруг. Например, как показано в области снайперской винтовки, вы видите изображение через то, что по существу является HUD, и вы видите разные части изображения, когда движется HUD.

Наряду с этим, есть ли способ для меня реализовать функцию масштабирования? Мое единственное предположение - увеличить фактическое отображаемое изображение, так что любая помощь в этом будет действительно замечательной!

Еще раз спасибо ребятам!

+1

Если другой ** [ответ] (http://stackoverflow.com/a/37242829/2057709) ** дал вам рабочее решение, вы должны отметить это как правильное. –

+0

PS: Да для масштабирования вам нужно будет увеличить (посмотрите 'scaleX' &' scaleY'). Для маскировки создайте MovieClip, содержащий радиальный градиент (белый центр, идущий наружу на черный), а затем используйте «blendMode», например «Multiply» или «Overlay». Добавьте градиент MC в кадр после изображения, чтобы поставить его выше. Он должен показывать изображение, как через область. Попробуйте это и посмотрите, что вы думаете о результате ... –

ответ

3

Я думаю, что один из способов добиться эффекта, который вы ищете, - это взять весь контент, который вы хотите иметь на экране, и поместить его в MovieClip. Тогда, когда у вас есть имя для этого MovieClip, вы можете настроить, где он расположен так, что она сосредоточена вокруг одного объекта, который будет выглядеть примерно так:

holder.x = screenWidth/2 - holder.object.x; 
holder.y = screenHeight/2 - holder.object.y; 

Это немного математики занимает позицию относительно объекта в holder MovieClip и настраивает его так, чтобы весь MovieClip перемещался, помещая это пятно в центр.

После того, как вы его там, вы можете изменить масштаб изображения, регулируя scaleX и scaleY в holder MovieClip, 1 Значение по умолчанию для обоих так 200% увеличение будет 2 и так далее. Тем не менее, MovieClip будет увеличивать масштаб от точки привязки, а не от центра экрана, поэтому вам может потребоваться переместить MovieClip в любое время, когда вы хотите его масштабировать.