gpt4 book ai didi

Flash:最接近 MovieClip 的点

转载 作者:行者123 更新时间:2023-12-02 00:41:32 27 4
gpt4 key购买 nike

我需要在艺术家给我的 DisplayObject 中限制一个点。

我让它工作,但只适用于光标仍在 bounds 内的情况。
受限对象称为limited

function onSqMouseMove(event:MouseEvent) {
if(bounds.hitTestPoint(event.stageX, event.stageY, true)) {
limited.x = event.stageX;
limited.y = event.stageY;
} else {
/* Find closest point in the Sprite */
}
}

limited.addEventListener(MouseEvent.MOUSE_DOWN, function(event:MouseEvent) {
stage.addEventListener(MouseEvent.MOUSE_MOVE, onSqMouseMove);
});

limited.addEventListener(MouseEvent.MOUSE_UP, function(event:MouseEvent) {
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onSqMouseMove);
});

我该如何着手实现另一半功能?我知道 Sprite 的 startDrag 接受参数,其中第二个参数是约束矩形,但在我的例子中,bounds 是任意形状。

当对象被拖到边界外时,我想计算从光标到bounds多边形的最近点。

请注意,边界 可以有“漏洞”。

编辑:

明确地说,我不想查找某个点是否在 MovieClip 内部,我想要距 MovieClip 外部的点最近的点(请注意 hitTestPoint 失败 !) 到它的边界。

alt text
(来源:liranuna.com)

最佳答案

我曾经看过这个人的博客,内容是关于“图像的像素精度”,在那里他能够用图像和 HitTest 做一些非常酷的事情,但我不记得了:p。

这些如何开始:

鉴于您的 DisplayObject 是一种纯色,但形状是任意的,按照 Doug McCune 的教程进行操作会非常容易。让我知道这是否能让你更亲近。

最好的,兰斯

关于Flash:最接近 MovieClip 的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2389183/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com