【问题标题】:Adding a symbol from the library to the stage using code使用代码将库中的符号添加到舞台
【发布时间】:2014-01-26 02:27:11
【问题描述】:

我是编码新手,不幸的是,我的老师比老师更像程序员,所以他对如何做事非常含糊。我的目标是一些简单的东西我有一个符号从我的库中直接拖放到舞台上作为我的背景和在背景对象的代码中我试图为你移动的菜单选择器添加一个小箭头鼠标键。我知道这很简单,我不明白,所以如果有人能提供帮助,那就太好了!

package 
{

import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;


public class BG extends MovieClip
{

    public var select:Select = new Select ;


    public function BG()
    {
        // constructor code
        addEventListener(Event.ADDED_TO_STAGE, addedToStage);

        addChild(select);
        select.x = 200;
        select.y = 200;
    }

    private function addedToStage(ev:Event):void
    {
        removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
        addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage);
        stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
    }

    private function keyDownHandler(ev:KeyboardEvent):void
    {
        if (event.keyCode == Keyboard.DOWN)
        {
            select.y = 250;
        }
        if (event.keyCode == Keyboard.UP)
        {
            select.y = 200;
        }
    }

    private function removedFromStage(ev:Event):void
    {
        removeEventListener(Event.REMOVED_FROM_STAGE, removedFromStage);
        stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
    }
}
}  

【问题讨论】:

    标签: actionscript-3 stage


    【解决方案1】:

    当您测试您的电影时,您应该会收到如下错误消息:

    BG.as,第 34 行 1120:未定义属性事件的访问。

    错误可以提示您出了什么问题。在这种情况下,它告诉您没有名为“事件”的属性。在您的 keyDownHandler 函数中,您需要将“event”替换为“ev”,这是您在函数声明中为 KeyboardEvent 命名的内容。所以这应该让你的代码工作:

    if (ev.keyCode == Keyboard.DOWN)
        {
            select.y = 250;
        }
    if (ev.keyCode == Keyboard.UP)
        {
            select.y = 200;
    }
    

    此外,您应该在创建对象实例时使用括号。即使它仍然可以编译,你应该这样写:

    public var select:Select = new Select();
    

    【讨论】:

    • 谢谢你,我很感激。我仍然在学习任何类型的代码的第一周,所以有时我会忘记一些事情。再次感谢!
    猜你喜欢
    • 2013-03-21
    • 2011-03-14
    • 2012-11-22
    • 2013-01-31
    • 1970-01-01
    • 2013-03-10
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多