Actionscript 3 AS3-迷宫游戏-显示完整屏幕时出现问题
我的AS3代码有点问题,我做了一个简单的迷宫游戏,你必须收集四个“DNA”,一旦你收集了它们,一个完整的屏幕会弹出,说恭喜 请您帮助我编写代码,以便在用户收集完所有四个DNA对象(实例名为“DNA1”、“DNA2”、“DNA3”和“DNA4”)后,我希望“completeScreen”对象移动到位置X=512,Y=384 在此方面的任何帮助都将不胜感激 我已经在下面附上了我的代码。希望你能帮助我Actionscript 3 AS3-迷宫游戏-显示完整屏幕时出现问题,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我的AS3代码有点问题,我做了一个简单的迷宫游戏,你必须收集四个“DNA”,一旦你收集了它们,一个完整的屏幕会弹出,说恭喜 请您帮助我编写代码,以便在用户收集完所有四个DNA对象(实例名为“DNA1”、“DNA2”、“DNA3”和“DNA4”)后,我希望“completeScreen”对象移动到位置X=512,Y=384 在此方面的任何帮助都将不胜感激 我已经在下面附上了我的代码。希望你能帮助我 import flash.events.KeyboardEvent; import flash.ev
import flash.events.KeyboardEvent;
import flash.events.Event;
stage.addEventListener(KeyboardEvent.KEY_DOWN, checkkeysdown);
stage.addEventListener(KeyboardEvent.KEY_UP, checkkeysup);
var moveup:Boolean=false;
var movedown:Boolean=false;
var moveleft:Boolean=false;
var moveright:Boolean=false;
var speed:Number=5;
function checkkeysdown(mykey:KeyboardEvent)
{
if (mykey.keyCode==Keyboard.UP)
{
moveup=true;
}
if (mykey.keyCode==Keyboard.DOWN)
{
movedown=true;
}
if (mykey.keyCode==Keyboard.LEFT)
{
moveleft=true;
}
if (mykey.keyCode==Keyboard.RIGHT)
{
moveright=true;
}
}
function checkkeysup(mykey:KeyboardEvent)
{
if (mykey.keyCode==Keyboard.UP)
{
moveup=false;
}
if (mykey.keyCode==Keyboard.DOWN)
{
movedown=false;
}
if (mykey.keyCode==Keyboard.LEFT)
{
moveleft=false;
}
if (mykey.keyCode==Keyboard.RIGHT)
{
moveright=false;
}
}
stage.addEventListener(Event.ENTER_FRAME, gameloop);
function gameloop (evt:Event)
{
if (moveup==true)
{
if (!maze.hitTestPoint(player.x,player.y-5,true))
{
player.y-=speed;
}
}
if (movedown==true)
{
if (!maze.hitTestPoint(player.x,player.y+5,true))
{
player.y+=speed;
}
}
if (moveleft==true)
{
if (!maze.hitTestPoint(player.x-5,player.y,true))
{
player.x-=speed;
}
}
if (moveright==true)
{
if (!maze.hitTestPoint(player.x+5,player.y,true))
{
player.x+=speed;
}
}
pickUp();
}
function pickUp()
{
if (player.hitTestObject(DNA1))
{
DNA1.x=5000;
}
if (player.hitTestObject(DNA2))
{
DNA2.x=5000;
}
if (player.hitTestObject(DNA3))
{
DNA3.x=5000;
}
if (player.hitTestObject(DNA4))
{
DNA4.x=5000;
}
}
将此添加到拾取功能的末尾
if ( DNA1.x==5000 && DNA2.x==5000 && DNA3.x==5000 && DNA4.x==5000){
completeScreen.x = 512;
completeScreen.y = 384;
}
这应该是可行的,但更好的方法可能是添加一些布尔值来再次检查,而不是像这样
var DNA1Collected:Boolean = false;
var DNA2Collected:Boolean = false;
var DNA3Collected:Boolean = false;
var DNA4Collected:Boolean = false;
然后,当玩家收集它们时,你可以将它们设置为true。这样,如果你想做一些事情,除了将x移动到-5000之外,你的if语句仍然有效