Нарисуйте прямоугольник с помощью класса графики, но переместите точку регистрации

У меня есть следующий код для создания спрайта с прямоугольником в нем:

container = new Sprite();
container.graphics.beginFill(0x00CCFF, .5);
container.graphics.lineStyle(1, 0x00CCFF);
container.graphics.drawRect(rect.x, rect.y, rect.width, rect.height);
container.graphics.endFill()
addChild(container);

Единственное, я бы хотел, чтобы точка регистрации находилась посередине (а не в верхнем левом углу). Есть ли способ установить точку регистрации в середине прямоугольника, но при этом положение прямоугольника должно быть правильным?

т.е. не перемещен так, чтобы верхний левый угол прямоугольника находился в «середине» того места, где я хочу, чтобы прямоугольник находился ...


person redconservatory    schedule 18.05.2011    source источник
comment
Это похоже на дубликат stackoverflow.com/questions/650567/   -  person Alex Jillard    schedule 18.05.2011


Ответы (1)


Самое близкое, что вы можете сделать, это:

container.graphics.drawRect(rect.x-rect.width/2, rect.y-rect.height/2, rect.width, rect.height);

Но я думаю, что вы говорите, что не хотите этого делать. Хотя, возможно, это можно сделать с помощью Matrix.

Редактировать:

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

person Alex Jillard    schedule 18.05.2011