好的,试图找到解决方案,我一直在寻找。我有一个带有图像网格的flash项目; 3幅图像高4幅图像。这就是我想要的,当你翻转每个图像时,其他图像被特定图像的更大版本覆盖,没有花哨的动画或类似的东西,它只需要出现。
我遇到的问题是扩展图像是翻转的一部分,因此在扩展图像的任何地方都应该显示较大的图像。因此,百万美元的问题是......如何使翻转动作中唯一活跃的部分成为图像的小版本?
谢谢!
答案 0 :(得分:0)
要回答您的问题,您可以放置一个所需大小的隐藏框,并将鼠标事件添加到框中而不是整个对象。可能更好的解决方案是不要在“缩略图”中包含大图像,而是在翻转时加载它。
请注意一点......如果我正确阅读......您所描述的内容可能会导致一些糟糕的UI体验。因为在一个图像上滚动会覆盖所有其他图像,所以一旦显示大图像,下面的其他图像就变得不可访问。假设您打算翻转一张图像但意外翻转相邻图像。特别是因为这是一个网格,你开始为鼠标创建一个迷宫来访问目标图像。
答案 1 :(得分:0)
另一种方法是使用onenterframe 检查mousex和mousey的事件,看看它们是否在预定义区域。
答案 2 :(得分:0)
只需创建仅具有“点击”区域的按钮,而不创建其他状态下的实际图像/图形。或者MovieClip填充0%alpha填充,这是缩略图的大小/位置。不要尝试使用一个对象执行所有操作,而是使用位于所有图像剪辑上方的鼠标交互剪辑。您可以使用任何有意义的映射方案来控制缩略图/完整图像操作。
例如(使用非常短的AS3速记):
将按钮命名为“b_0”,“b_1”等。
为您的图片命名MC的“img_0”,“img_1”等
当你获得按钮的rollOver事件时,获取它的实例名称(buttonname = event.currentTarget.name)并使用字符串'split'方法获取标识号(id = buttonname.split(“_”)) [1])。
然后,您可以使用'getChildByName(“img_”+ id)定位正确的图像MC。
最重要的是,你必须使用代码,因为它会更好,一旦你获得一些经验,你很快就能做很有趣的事情。这是一个有趣的问题,但你要使用AS3。有一个我在上面概述的FAR更优雅的解决方案,但你必须从某个地方开始:)