2014-02-13 46 views
0

我正在使用Greensock的LoaderMax解析XML文檔,並將縮略圖和大圖像加載到舞臺上 - 大圖像最初隱藏在屏幕外。as3單擊縮略圖以放大圖像

我希望做的是點擊縮略圖,並有較大的圖像補到位,我都分配相同的名稱,相關的縮略圖和圖像,即0大拇指對應於0圖像

縮略圖已被添加到一個影片剪輯名爲MC2,圖像是在一個叫做bigDocWrap

這裏MC是我的嘗試:

function callFull(event:MouseEvent):void 
{ 
    var clicked = [event.target.name]; 
    if (isUp == true) { 
     // Do some stuff 
    fadeOut.addEventListener(TweenEvent.MOTION_FINISH, end); 
     function end(event:TweenEvent) { 
     // Some more stuff 
       // Animate large image in 
     mcDocIn = new Tween (clicked, "y", Strong.easeOut, clicked.y, -650, 1, true); 
     }  
    } 
} 

這不起作用 - 未定義的引用錯誤

mcDocIn = new Tween (bigDocWrap.clicked, "y", Strong.easeOut, bigDocWrap.clicked.y, -650, 1, true); 
+0

你可能想看看行'VAR單擊了= [event.target.name]'那是什麼來解決?它實際上是一個顯示對象嗎?如果不是,那麼第一個「Tween」將不起作用,因爲目標不存在。如果它實際上是一個顯示對象,那麼第二個'Tween'將不起作用,因爲您不能以您正在執行的方式引用父項的子項(在本例中爲'bigDocWrap')。 – Marcela

+0

當我追蹤var時,它顯示正確的對象名稱,但我不知道它實際上解決了什麼 - Flash沒有踢出任何錯誤,它只是沒有做任何事情:) – Funk247

+0

我相信它實際上只是解決到一個'字符串'。 'event.target.name'周圍的方括號沒有做任何事情。你需要做一些事情,比如'bigDocWrap [clicked]'。 – Marcela

回答

1

您正在傳遞對象名稱而不是對象new Tween()。使用event.currentTargetevent.target,取決於您的需要。

我已經更新了你的代碼如下所示:

function callFull(event:MouseEvent):void 
{ 

    if (isUp == true) { 
    // Do some stuff 
    fadeOut.addEventListener(TweenEvent.MOTION_FINISH, end); 
     function end(event:TweenEvent) { 
     // Some more stuff 
     // Animate large image in 
     mcDocIn = new Tween (event.currentTarget, "y", Strong.easeOut, clicked.y, -650, 1, true); 
     }  
    } 
} 
+0

如果我沒有使用Greensock LoaderMax來導入XML文件,那麼這個工作將會奏效!夾出這個錯誤 '類型強制失敗:無法將com.greensock.loading.display :: ContentDisplay @ 39bc1241轉換爲flash.display.MovieClip。 \t at MethodInfo-312()' – Funk247

+0

查看更新。我直接將'event.currentTarget'傳遞給'new Tween(...)'; –