簡體   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