繁体   English   中英

AS3键盘移动错误

[英]AS3 Keyboard Movement Error

我正在制作游戏,并编写了使用箭头键移动精灵的代码。 由于某些原因,会弹出这两个错误。

LINE 34警告:1090:迁移问题:onKeyDown事件处理程序不会在Actionscribpt 3.0中在运行时由Flash Player自动触发。 您必须首先使用addEventListener('keyDown'callback_handler)为事件注册此处理程序。

LINE 39警告:1090:迁移问题:onKeyUp事件处理程序不会在Actionscribpt 3.0中在运行时由Flash Player自动触发。 您必须首先使用addEventListener('keyUp'callback_handler)为事件注册此处理程序。

这是我的运动代码

stop();

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

Wizard.addEventListener(Event.ENTER_FRAME, KeyClick);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

var keys:Array = [];

function KeyClick(e:Event):void
{
    if (keys[Keyboard.RIGHT])
    {
        Wizard.x += 5;
    }
    if (keys[Keyboard.LEFT])
    {
        Wizard.x -= 5;
    }
    if (keys[Keyboard.UP]) 
    {
        Wizard.y -= 5;
    }
    if (keys[Keyboard.DOWN])
    {
        Wizard.y += 5;
    }
}

function onKeyDown(e:KeyboardEvent):void
{
    keys[e.keyCode] = true;
}

function onKeyUp(e:KeyboardEvent):void
{
    keys[e.keyCode] = false;
}

我该如何解决这些错误? 谢谢 :)

这些只是警告; 之所以存在,是因为在ActionScript 2中,事件的工作方式如下:

target.onKeyUp = function()
{
    //
}

target.onKeyDown = function()
{
    //
}

我假设警告已触发,因为您对处理程序函数使用的命名约定与处理这些事件的旧样式相同。

如果它们困扰您,只需将其重命名为其他名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM