iT邦幫忙

0

是有關於flash的

最近,想用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時,原本的那件會被替換呢?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
fillano
iT邦超人 1 級 ‧ 2014-08-07 10:31:51
最佳解答

簡單的做法,就是用一個global變數把tami2記下來。然後一些修改,就可以針對tami2來做。

把他概念化的話,就是:
你的紙娃娃系統原本是沒有在記錄狀態的,你要能做控制他,就需要針對要控制的部份做一些記錄。簡單的做法,是使用global變數來存放。不過更好的做法應該是設計一個class來存放。

可以詳細一點嗎?
我不要求代碼,但希望再說一下怎能有效控制?

fillano iT邦超人 1 級 ‧ 2014-08-10 18:14:13 檢舉

例如:

<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;
}

大概是這樣的意思。

我要發表回答

立即登入回答