【问题标题】:Rendering Flash Menu Over the Top of Game Drawn with copyPixels在使用 copyPixels 绘制的游戏顶部渲染 Flash 菜单
【发布时间】:2011-02-20 09:32:01
【问题描述】:

我是 flash 新手,但有丰富的游戏开发经验,所以当我开始使用 flash 时,我几乎忽略了 flash 可以做的所有事情,只是创建了一个与我的 flash 电影大小相同的缓冲区,并将我的游戏直接绘制到使用 copyPixels。

现在我想做的是为游戏添加一个菜单,并且多使用 Flash 似乎是明智之举。我可以在 .fla 中构建菜单没有问题,但谁能告诉我如何在游戏顶部渲染它?

谢谢。

【问题讨论】:

    标签: flash actionscript-3 flash-cs5


    【解决方案1】:

    您可以为菜单创建一个类并通过 AS 附加它(也可以在 IDE 中将其定义到您的库中),它的所有功能都将包含在其中。如果你愿意,我可以提供一个简单的例子。

    更新示例:

    为您的导航创建一个类 - 将其命名为 Navigation.as(与您的 fla 相同的目录)

    package
    {
        import flash.display.*;
    
        public class Navigation extends Sprite
        {
            public function Navigation() 
            {
                addEventListener ( Event.ADDED_TO_STAGE, init );    
            }
    
            private function init ():void
            {
                // position your nav
                this.x = 0;
                this.y = 0;
    
                // attach button functionality here
            }
        }
    }
    

    在您的闪存中,右键单击 -> 属性,在您库中的导航 MC 上执行以下操作:

    Check "Export for ActionScript"
    Baseclass:  "Navigation"
    

    然后在您的主 AS 中,将其添加到您的阶段,您可以这样做:

    var _nav:Navigation = new Navigation();
    addChild(_nav);
    

    只要你的addChild(_nav)你的游戏建好后,就会在最上面。

    希望这会有所帮助。

    如果需要,我可以详细说明。随意问。希望这会有所帮助。

    【讨论】:

    • 对不起,我是 flash 的菜鸟,所以请多多包涵……我在 .fla 中有一个我很满意的菜单(我将图像导入到库中然后放置它们在编辑器中并将它们转换为按钮)。问题是当我将我的游戏复制到缓冲区时,我会在按钮的顶部进行绘制。我希望我可以通过在渲染游戏缓冲区后调用函数来请求直接从脚本渲染我的菜单项(或整个图层)。任何简单的例子都会很棒! :)
    • 用示例更新了我的答案。让我知道这是否有帮助。
    【解决方案2】:

    看起来您只需要一些简单的东西,所以只需创建一个精灵,并在需要菜单时将其添加到场景中,并在不需要时将其移除。

    显示对象在 Flash 中的工作方式,您可以在 Sprite(或电影剪辑)中构建整个菜单,并将其放在一个整洁的地方。

    【讨论】:

      猜你喜欢
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 2014-10-05
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多