2017-04-25 59 views
-1

我在編程方面真的很新穎,我需要幫助來解決一個小問題。我開始使用Adobe Animate CC(ActionScript 3.0)進行編程,並且我想知道如何僅在單擊兩個按鈕後才使符號出現。我能做到這一點只需一個按鈕,但我不知道如何與兩個按鈕使其:如何在點擊AS3中的兩個不同按鈕後顯示內容?

button.addEventListener (MouseEvent.CLICK, onClick) 

function onClick (e:MouseEvent):void 
{ 
    graph.visible = true; 
} 

感謝,

若昂

+1

您是否需要同時點擊這些按鈕? – JMedinilla

+3

您可以添加一個布爾屬性,指示是否曾經點擊過第一個按鈕。所以當用戶點擊第二個按鈕時,它只是檢查布爾值,如果它是真的,那麼會使符號出現。 –

+0

這怎麼可能是一個C#代碼? –

回答

1

維克多上面說的,您將創建一個布爾(我們稱之爲oneClicked),初始化爲false。然後,每個按鈕將具有邏輯:

if (oneClicked == true) 
{ 
    graph.visible = true; 
} 
else 
{ 
    oneClicked = true; 
} 
+0

但是如果同一個按鈕被點擊過多次,那麼這種情況不會觸發嗎? –

+0

啊很真實。看起來你已經到了那裏,所以我會upvote你。 –

2

一種方式做到這一點是有一個變量設置爲true,每個按鈕他們第一次被點擊,如果兩個變量是true,則顯示的圖形:

var button1Clicked:Boolean = false; 
    var button2Clicked:Boolean = false; 

    function button1_Click(e:Event):void 
    { 
     button1Clicked = true; 
     if(button1Clicked && button2Clicked) graph.visible = true; 
    } 

    function button2_Click(e:Event):void 
    { 
     button2Clicked = true; 
     if (button1Clicked && button2Clicked) graph.visible = true; 
    } 

    // Rest of code omitted... 
+0

感謝您的幫助!我試圖使用你給我的代碼,但它沒有工作......在添加你給我的代碼之前,我應該做些什麼嗎? –

+0

對不起,我只注意到現在語言不是C#...我使用Animate CC,所以我認爲語言是ActionScript 3.0 ...我怎樣才能在ActionScript中做到這一點? –

+0

我不知道ActionScript。我發現你已經將C#中的語言標記更改爲ActionScript,所以希望有人會提供幫助。當然,邏輯幾乎是一樣的,但... –

0

你可以嘗試這樣的事情:

HTML:

<div id="myElement">Click me!</div> 

JS:

var elementIsClicked = false; // declare the variable that tracks the state 

function clickHandler(){ // declare a function that updates the state 
    elementIsClicked = true; 
} 

var element = document.getElementById('myElement'); // grab a reference to your element 
element.addEventListener('click', clickHandler); // associate the function above with the click event 
相關問題