我是flash(actionscript3)的初学程序员,我想做一个简短的Point and Click风格游戏,
我有一个带门的房间,需要钥匙才能打开,还有一个包含门钥匙的盒子。 我做对了你可以看SWF文件(我的问题链接)。但我有两个问题:
1-当我点击Box时,我看到盒子内部,当我拿起钥匙,然后返回到 房间,我再次点击Box,我再次看到钥匙,但我不希望这种情况发生,我该怎么办?去掉它 ?怎么样?
2-当我点击门时,会出现“需要钥匙”的文字,但我想在3秒后消失它。我怎么能这样做?
如果我要填写我的代码,请告诉我,我会把它们放在这里。
这就是我所做的:http://apple-pib.persiangig.com/Point_And_Click.swf
这是关于密钥的代码:
import flash.events.MouseEvent;
stop();
key.addEventListener (MouseEvent.CLICK , keypickedup ) ;
function keypickedup (event : MouseEvent ) : void {
canyouopendoor =true;
key.visible = false;
}
和我关于门的代码:
import flash.events.MouseEvent;
stop ();
keyneeded.visible = false;
door.addEventListener (MouseEvent.CLICK , thedoor ) ;
function thedoor (event : MouseEvent ) : void {
if (canyouopendoor ==true) {
gotoAndStop (4);
}
else {
keyneeded.visible = true ;
}
}
最诚挚的问候
答案 0 :(得分:0)
与变量canyouopendoor
一样,如果您拿到钥匙,则需要true
的变量,或者当您没有钥匙时false
。但您也可以使用canyouopendoor
,因为只有在您拿起钥匙时才会这样。
您需要将此行添加到密钥的代码中:
key.visible = !canyouopendoor;
您需要使用setTimeout
等待几秒钟才能将文字隐藏在门上方。类似的东西:
setTimeout(function():void { keyneeded.visible = false; }, 3000);
3000
3秒钟。
希望它有所帮助。