actionscript-3 - 遮盖 2 个影片剪辑

标签 actionscript-3 flash

我正在尝试让我的篝火影片剪辑遮盖我的夜间阴影影片剪辑,这样通过删除影片剪辑的该部分就不会显示夜晚的“黑暗”。它会删除它,但不仅仅是影片剪辑的大小,它会删除​​所有内容:D

我尝试将它放在水平上而不是放在 world.worldTiles 中,并将其从数组中取出,但它仍然做同样的事情。我还尝试将其放置在影片剪辑的 world.worldTiles[i] 上,仍然删除整个影片剪辑。我翻转了 .mask = night,它只在篝火模型上留下阴影。

这是我正在使用的代码:

    public function addWorldObj(obj:MovieClip, c:Class, X:int, Y:int, w:Number, h:Number, f:int)
    {
        obj = new c();
        world.worldTiles.addChild(obj);
        obj.x = playerTileCoord.x + X;
        obj.y = playerTileCoord.y + Y;
        obj.width = w;
        obj.height = h;
        obj.gotoAndStop(f);
        if(obj.Name == "campfire"){
                obj.mask = night;
        }
        world.tilesInWorld.push(obj);
    }

夜影影片剪辑只是一个巨大的黑色方 block ,alpha 发生了变化。

篝火是一个不可见的正方形,里面画了一个头顶上的篝火,篝火的宽度和高度是 1 个正方形的大小,它应该遮盖 nightShadow 影片剪辑中的 1 个正方形,但它遮盖了全部。

这是游戏的链接。 http://www.fastswf.com/00CRfh4 游戏从 0.75 alpha 开始向上计数。 你可以点击屏幕右下角的锤子来打开构建菜单(你也可以点击“E”按钮,这也会在测试时杀死你)打开后点击篝火文本并将其放置在看看 map ,看它掩盖了整个夜晚的电影剪辑! :D

最佳答案

我假设夜间影片剪辑与舞台大小相同(可能更大),并且通过将其用作蒙版,它会消失,因为蒙版旨在不可见。这就是为什么当您调用 obj.mask = night 时它会消失。此外,调整蒙版的 Alpha 属性对该蒙版没有影响,因为正如我提到的,蒙版是不可见的。

现在您有几个选择:

  1. 实现与您已经需要的完全不同的措施来照亮篝火周围的区域。我的意思是,如果您希望篝火周围的区域被照亮,并随着您远离篝火而逐渐消失到夜晚。
  2. 如果您不关心照亮篝火周围的区域,但至少让篝火现在因夜间图层而显得暗淡,也许您可​​以尝试将篝火对象放置在夜间图层上方。

关于actionscript-3 - 遮盖 2 个影片剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533628/

相关文章:

algorithm - flash 和 actionscript 中的动态动画

html - IE 8 中的溢出隐藏和 Flash 内容

javascript - 使用 Canvas 或自定义 html 结构创建 html5 游戏是否正确

flash - 如何检查 html5 视频支持?

ios - 通过 Adob​​e AIR 关闭 iOS 上的软键盘

javascript - 如何在运行时从 Javascript 动态调用 Actionscript 3 中的函数而不使用 eval()?

actionscript-3 - 在循环之外定义变量更好吗?

javascript - Web 客户端缓存

actionscript-3 - atan2函数和轴方向

ios - Adobe Air 应用程序在 iOS 启动画面后自动崩溃