0

我正在尝试为我正在制作的游戏制作一些东西。当有人点击影片剪辑时,我希望它绘制一个内圈和一个外圈。我想用不透明的颜色(图像中的紫色)填充圆圈之间,这样人们基本上可以看到影片剪辑周围的一个大而厚的圆圈,但不接触影片剪辑。然后我需要检查鼠标点击是否只发生在两个圆圈之间。

下图显示了我的意思。问题是紫色位的厚度必须是可调节的(不是在游戏中),如果你点击 1 个动画剪辑,紫色位的厚度可能是 10 像素,不同的剪辑可能是 50。显然检查点击更大比内圆 x 和小于外圆只能在夹子对面的直线上工作,一旦你向上或向下移动,效果就不太好了。非常感谢任何帮助,因为我似乎无法解决这个问题。我尝试绘制 2 个圆圈,也尝试使用 2 个动画剪辑圆圈,但无法正常工作。

好像这里不能上传图片。最简单的方法是想一个没有 / 线穿过中间的禁止进入标志。中心是影片剪辑,红色圆圈的内部是内圈,外部是外圈,但红色绝不会触及影片剪辑

4

1 回答 1

2

我会测量从圆心到鼠标点击点的距离。然后您只需要检查距离是否大于内圆半径且小于外圆半径。

这些方面的东西:

var clickPoint:Point = new Point(mouseX, mouseY);
var centerPoint:Point = new Point(circleMC.x circleMC.y);
var dist:Number = Point.distance(clickPoint, centerPoint);

if(dist > innerRadius && dist < outerRadius){
    trace("the click happened between circles
}
于 2013-10-17T23:14:20.947 回答