Проблема с увеличением и уменьшением в моей игре - PullRequest
0 голосов
/ 01 марта 2011

У меня есть спрайт с именем gameSprite, он содержит все элементы в игре. У меня есть объект с именем myCell, и я пытаюсь сделать так, чтобы ячейка всегда была в центре экрана, а это 800x600.

Это работает:

var panX:Number = myCell.x - 800.0 / 2;
var panY:Number = myCell.y - 600.0 / 2;

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

Увеличение и уменьшение регулирует gameSprite.scaleX и gameSprite.scaleY (обратите внимание, что scaleX всегда равен scaleY).

scaleX равно 1,0 для исходного размера, и чем оно меньше, тем больше будет уменьшено изображение проигрывателя.

Затем я изменил его, чтобы он работал с масштабированием, но по какой-то причине он не работает:

var panX:Number = myCell.x - 800.0 / 2 / gameSprite.scaleX;
var panY:Number = myCell.y - 600.0 / 2 / gameSprite.scaleY;

Понятия не имею, что я сделал не так.

Вот скриншот без увеличения:

И чем больше я увеличиваю, тем больше камера отодвигается от положения 0, 0:

1 Ответ

1 голос
/ 01 марта 2011

По сути, вы хотите иметь возможность масштабировать ваш объект от его центральной точки. Взгляните на следующую ссылку:

http://ryanbosinger.com/blog/2008/actionscript-30-scale-object-from-center-point/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...