0

我是 flash (actionscript3) 的初学者程序员,我想做一个简短的点击式游戏,

我有一个房间,里面有一扇门,需要钥匙才能打开,还有一个盒子,里面有门钥匙。我做对了,您可以观看 SWF 文件(我的问题的链接)。但我有两个问题:

1-当我点击盒子时,我看到盒子里面,当我拿起钥匙回到房间时,我再次点击盒子,我又看到了钥匙,但我不希望这种情况发生,什么我应该怎么做?去掉它 ?如何 ?

2-当我点击 Door 时,出现文本“需要钥匙”,但我想在 3 秒后将其消失。我怎样才能做到这一点 ?

如果我应该放我的代码,请告诉我,我会把它们放在这里。

这就是我所做的: http: //apple-pib.persiangig.com/Point_And_Click.swf

这是我关于 Key 的代码:

import flash.events.MouseEvent;

stop();

key.addEventListener (MouseEvent.CLICK , keypickedup ) ;

function keypickedup (event : MouseEvent ) : void {   
canyouopendoor =true;
key.visible = false;


}

和我关于 Door 的代码:

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 ;

}

 } 

最好的祝福'

4

1 回答 1

0

就像您的变量一样canyouopendoor,您需要一个变量来表示true您是否拿起了钥匙或false没有。但你也可以使用canyouopendoor,因为只有当你拿起钥匙时才会这样。

您需要将此行添加到密钥的代码中:

key.visible = !canyouopendoor;

而且您需要setTimeout等待几秒钟才能将文本隐藏在门上方。就像是:

setTimeout(function():void { keyneeded.visible = false; }, 3000);

30003 秒。

希望能帮助到你。

于 2013-07-31T13:25:01.243 回答