Как нажать на круг, чтобы показать прямоугольник, окружающий его? используя flash as3.0 - PullRequest
0 голосов
/ 28 августа 2011

Я новичок во вспышке.Я хочу щелкнуть по кругу, чтобы показать прямоугольник вокруг него, и щелкнуть по другим местам на этом этапе, чтобы скрыть этот прямоугольник, как реализовать это событие?

Спасибо за помощь !!!

1 Ответ

1 голос
/ 28 августа 2011

Нарисуй свой круг в спрайте. Программно это можно сделать следующим образом:

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);
}

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

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

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