我的问题与之前提到的有关重叠的精灵/动画片段this的问题有点类似。但我的要求与他们略有不同。
我想处理舞台上所有精灵的鼠标事件,包括隐藏在后面(或重叠或遮挡)的精灵,主要条件是我想处理被遮挡的精灵(隐藏在其他精灵后面)。例如,假设我在舞台上有sprite1和sprite2,我想在我点击精灵时开始拖动并在另一次点击后停止拖动。
这可以很容易地完成,但问题和我的主要要求是,如果我拖动sprite1并将其精确地放在sprite2的顶部,那么sprite2将隐藏在sprite1后面我无法在不移动的情况下拖动sprite2精灵1首先。如果你在facebook上玩过zynga的empires和allais游戏,它就是单独处理的,它是如何在那个游戏中运行的,鼠标事件是在重叠精灵背后的精灵上触发的,如果你有两个精灵重叠一个精灵而不是鼠标无论是否只有一个精灵重叠或两个或三个精灵,这个事件是在最后一个精灵上触发的,而不是前面的一个,这种情况发生在不规则形状的精灵(不仅仅是矩形)上
如果任何人能够让我了解zynga如何实现这一点或帮助我找到如何实现它将会很有帮助
感谢
答案 0 :(得分:0)
一种可能性是游戏没有收听每个单独精灵的点击事件。
编程游戏时,通常会实现网格系统。如果是这种情况,程序员会记录所有精灵放在网格上的位置。然后程序员可以监听整个网格渲染器的点击,并通过参考网格记录的鼠标位置来计算出所选对象。