Actionscript 3 我的AS3代码有一些问题
制作我的新flash游戏(我使用的是AS3,CS5.5)时遇到的一些麻烦: 我只是试着让我的角色(哈特)行走和跳跃,但我不能同时做到,好吧,我知道怎么做。。。此外,我不知道如何让我的角色识别地面。 最后这里有一件事: “场景1,层'hatt',第1帧,第6行警告:1090:迁移问题:在ActionScript 3.0中,Flash Player在运行时不会自动触发onKeyDown事件处理程序。您必须首先使用addEventListener('keyDown',回调\u处理程序)为事件注册此处理程序。” 请帮帮我,给我一些提示。。。谢谢 代码如下:Actionscript 3 我的AS3代码有一些问题,actionscript-3,flash,Actionscript 3,Flash,制作我的新flash游戏(我使用的是AS3,CS5.5)时遇到的一些麻烦: 我只是试着让我的角色(哈特)行走和跳跃,但我不能同时做到,好吧,我知道怎么做。。。此外,我不知道如何让我的角色识别地面。 最后这里有一件事: “场景1,层'hatt',第1帧,第6行警告:1090:迁移问题:在ActionScript 3.0中,Flash Player在运行时不会自动触发onKeyDown事件处理程序。您必须首先使用addEventListener('keyDown',回调\u处理程序)为事件注册此处理
var grav:Number = 10;
var jumping:Boolean = false;
var jumpPow:Number = 0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(Event.ENTER_FRAME, update);
function onKeyDown(evt:KeyboardEvent):void
{
if (evt.keyCode == Keyboard.UP)
{
if (jumping != true)
{
jumpPow = -25;
jumping = true;
}
}
}
function update(evt:Event):void
{
if (jumping)
{
hatt.y += jumpPow;
jumpPow += grav;
if (hatt.y >= stage.stageHeight)
{
jumping = false;
hatt.y = stage.stageHeight;
}
}
}
stage.addEventListener (KeyboardEvent.KEY_DOWN, myFunction) ;
function myFunction (event: KeyboardEvent){
if(event.keyCode == Keyboard.LEFT) {
hatt.x -= 5
}
if(event.keyCode == Keyboard.RIGHT) {
hatt.x += 5
}
}
删除此行:
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
删除onKeyDown函数:
function onKeyDown(evt:KeyboardEvent):void
{
if (evt.keyCode == Keyboard.UP)
{
if (jumping != true)
{
jumpPow = -25;
jumping = true;
}
}
}
将myFunction替换为以下内容:
function myFunction (event: KeyboardEvent)
{
if(event.keyCode == Keyboard.LEFT)
hatt.x -= 5;
if(event.keyCode == Keyboard.RIGHT)
hatt.x += 5;
if(event.keyCode == Keyboard.UP && jumping != true)
{
jumpPow = -25;
jumping = true;
}
}