最近,想用flash弄一個紙娃娃系統,但我對as真的是初學,所以一開始就遇到困難了,我想做到的效果是按下button就會import另一張元件以x,y的坐標移過來,所以我就寫成:
a1.addEventListener(MouseEvent.CLICK, f5_ClickToGoToWebPage_3);
function f5_ClickToGoToWebPage_3(event:MouseEvent):void
{
var tami2:LibrarySymbol = new LibrarySymbol();
addChild(tami2);
tami2.x = 7;
tami2.y = 123;
}
這樣就照我的效果顯示出來了,但當我弄另一個相同的部位時,衣服是會重疊起來,那如何做到我按下另一個button時,原本的那件會被替換呢?
簡單的做法,就是用一個global變數把tami2記下來。然後一些修改,就可以針對tami2來做。
把他概念化的話,就是:
你的紙娃娃系統原本是沒有在記錄狀態的,你要能做控制他,就需要針對要控制的部份做一些記錄。簡單的做法,是使用global變數來存放。不過更好的做法應該是設計一個class來存放。
可以詳細一點嗎?
我不要求代碼,但希望再說一下怎能有效控制?
例如:
<pre class="c" name="code">
a1.addEventListener(MouseEvent.CLICK, f5_ClickToGoToWebPage_3);
var tami2:LibrarySymbol = null;
function f5_ClickToGoToWebPage_3(event:MouseEvent):void
{
tami2 = new LibrarySymbol();
addChild(tami2);
tami2.x = 7;
tami2.y = 123;
}
這樣在另一個事件中,你還可以修改這個tami2。例如:
<pre class="c" name="code">
a2.addEventListener(MouseEvent.CLICK, f6_ClickToChangeTami2(event:MouseEvent):void
{
if(typeof tami2 !== "null")
removeChild(tami2);
tami2 = new LibrarySymbol();
addChild(tami2);
tami2.x = 15;
tami2.y = 248;
}
大概是這樣的意思。