2013-07-31 18 views
0

我在閃光燈(ActionScript3中)初學編程的,我想作一個簡短的點和點擊式遊戲,如何顯示幾秒鐘文本/影片剪輯和動作腳本刪除對象3

我有一間帶門的房間,需要鑰匙才能打開,另一間房間裏有鑰匙。 我做得很對,你可以看SWF文件(鏈接下來我的問題)。但我有2個問題:

1-當我點擊框,我看到框內,當我拿起鑰匙,當我回到 房間,再次點擊框,我再次看到鑰匙,但我不希望發生這種情況,我該怎麼辦?去掉它 ?怎麼樣 ?

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

這真的取決於你如何製作遊戲。但我認爲你需要用'removeChild'或其他東西去除鍵。另一個你需要使用'setTimeout'函數。 – putvande

+0

非常感謝。我把這些代碼放在我的帖子後面。如果你不介意,請看看他們。 –

+0

謝謝我解決了我的一個問題(setTimeout) –

回答

0

就像你的變量canyouopendoor你需要有一個變量如果你拿起你的鑰匙或false,當你沒有時是true。但是你也可以使用canyouopendoor,因爲只有當你拿起鑰匙時才這樣。

您需要將此行添加到代碼的關鍵是:

key.visible = !canyouopendoor; 

而且你需要使用setTimeout你隱藏你的文字在門的上方之前等待幾秒鐘。例如:

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

3000持續3秒。

希望它有幫助。

+0

再次感謝您,我修復了超時問題,但仍然有問題,如果您有時間請看看我的源文件:[link](http://apple-pib.persiangig.com/Point_And_Click.fla )當我點擊Key時,它會消失,但是當我點擊Box時它會出現。 –

+0

我認爲我的問題是因爲使用多幀而發生 –

+0

我認爲問題在於你的變量被重置。你可以改變你的文件,讓第一幀有所有的變量,讓你的遊戲在第二幀開始,所以當你回到門所在的框架時,變量不會被覆蓋。如果這是有道理的。 – putvande