blog.Ring.idv.tw

事件處理-「MovieClip」、「Button」對於「on」事件處理的變數範圍

事件處理-「MovieClip」、「Button」對於「on」事件處理的變數範圍

「MovieClip」、「Button」對於「on」事件處理的變數範圍

我們建立一個MovieClip及一個Button在Stage上,並將MovieClip命名為「a_mc」,然後在MovieClipButton上各別加些程式以便驗證。

MovieClip

on(release)
{
	bar = 10;
	trace(this);
}

Button

on(release)
{
	foo = 5;
	trace(this);
}

最後再額外多建立一個Button,用來驗證變數的範圍~

測試用的Button

on(release)
{
	trace(foo);
	trace(a_mc.bar);
}

接著依序點擊「MovieClip」、「Button」以及「測試用的Button」,結果如下:

_level0.a_mc
_level0
5
10

從結果我們就可以了解,寫在「MovieClip」和「Button」的變數範圍是不一樣的,寫在「MovieClip」的變數範圍就如同「事件處理-「onClipEvent」vs.「MovieClip.onXXX」變數範圍」這篇所說明的,相對來說「Button」的情況較為特殊,也就是說寫在「Button」上的變數範圍,其實就是隸屬於「_root」的實體變數,更明確的說「_root」相等於MainTimeline的「this」,然而MainTimeline的「this」又是個「MovieClip」~

關於MainTimeline中的「this」,可以參考「ActionScript 2 this vs. ActionScript 3 this」這篇的說明~

範例下載

2007-05-25 18:18:21

Leave a Comment

Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment