0

我的问题与之前关于像这样的重叠精灵/电影剪辑的一些问题有点相似。但我的要求与他们略有不同。

我想处理舞台上所有精灵的鼠标事件,包括那些隐藏在后面(或重叠或遮挡)的精灵,主要条件是我想处理被遮挡的精灵(隐藏在其他精灵后面)。例如,假设我在舞台上有 sprite1 和 sprite2,我想在单击 sprite 时开始拖动并在再次单击后停止拖动。

这可以很容易地完成,但问题和我的主要要求是,如果我将 sprite1 拖放到 sprite2 的顶部,那么 sprite2 将隐藏在 sprite1 后面我将无法在不移动 sprite1 的情况下拖动 sprite2 . 如果您在 facebook 上玩过 zynga 的 Empires and allais 游戏,它会单独处理,这就是它在该游戏中的工作方式,鼠标事件在重叠精灵后面的精灵上触发,如果您有两个精灵重叠一个精灵而不是鼠标事件在最后一个而不是前面的精灵上触发,无论是否只有一个精灵重叠或两个或三个重叠,这发生在不规则形状的精灵(不仅仅是矩形)

如果有人可以告诉我 zynga 是如何实现这一点的,或者帮助我了解如何实现它,那将是很大的帮助

谢谢

4

1 回答 1

0

一种可能性是游戏没有监听来自每个单独精灵的点击事件。

在编写游戏时,您通常会实现网格系统。如果是这种情况,程序员就会记录所有精灵在网格上的位置。然后,程序员可以监听整个网格渲染器上的点击,并通过参考网格记录的鼠标位置来计算选定的对象。

于 2011-09-03T16:40:37.377 回答