Нарисуй свой круг в спрайте. Программно это можно сделать следующим образом:
var circle : Sprite = new Sprite();
circle.graphics.beginFill(0xffcc00);
circle.graphics.drawCircle(20, 20, 20); // center x, y and radius
addChild(circle);
Когда кто-то щелкает по нему, используйте метод getBounds () , чтобы получить экземпляр Rectangle
, который определяет ограничивающий прямоугольник круга (чтобы избежать жесткого кодирования его размеров.) Нарисуйте прямоугольник, используя информация из этого Rectangle
экземпляра.
// Create an empty Sprite into which we will draw our rectangle
var rect : Sprite = new Sprite();
circle.addEventListener(MouseEvent.CLICK, handleCircleClick);
function handleCircleClick(ev : MouseEvent) : void {
var bounds : Rectangle;
// Draw rectangular graphics into the rect sprite
bounds = circle.getBounds(circle.parent);
rect.graphics.beginFill(0x00ff00);
rect.graphics.drawRect(bounds.left, bounds.top, bounds.width, bounds.height);
// Add rect to stage, below circle
circle.parent.addChildAt(rect, 0);
}
Я оставлю это вам в качестве упражнения, чтобы скрыть прямоугольный спрайт, когда пользователь щелкает за пределами круга.
Обратите внимание, что это всего лишь один из способов сделать это, но, поскольку вы ничего не объясняете в своей настройке и не даете никаких подробностей о вашем случае, это самый простой способ, который приходит на ум.