2011-10-24 38 views
0

我製作了一個MovieClip並將其附加到下面的代碼中。當我測試電影時,我已經在舞臺上放置了一個實例,它工作正常。當我通過代碼實例化對象並將其添加到舞臺當我點擊它時,它消失。我在閃光燈下工作。實例在動畫時消失

package { 

import flash.display.MovieClip; 
import flash.events.MouseEvent; 
import fl.transitions.easing.*; 

import com.greensock.*; 

public class Card6 extends MovieClip { 

    public function Card6()  { 
     addEventListener(MouseEvent.CLICK, Enter); 
    } 
    private function Enter(ev : MouseEvent) { 
     TweenMax.to(this, 0.25, { rotationY: 180 } ); 
    } 
    } 
} 

這是我從庫中實例化MovieClip的代碼,Card6是基類。

var photo: MovieClip = new PhotoB(); 
photo.x = 100; 
photo.y = 300; 
stage.addChild(photo); 

更新: 我成功,使其工作我不知道如何,因爲我沒有改變的代碼bit.The問題是我不知道如何解決,我遇到同樣的在其他例子中的問題。 這是我在第一幀中使用的代碼並且工作。

var sp : DisplayObject = new border(); //<-- Different name,same Object 
addChild(sp); 
sp.x = 400; 
sp.y = 300; 

這也是我用於主類

package { 

import flash.display.MovieClip; 

public class DocumentH extends MovieClip { 

    public function DocumentH() { 
    var sp : MovieClip = new border(); 
    addChild(sp); 
    sp.x = 400; 
    sp.y = 300; 
    } 
    } 
} 

的代碼,我不能告訴是什麼讓diferrence和worked.I嘗試做在另一FLA完全相同的事情,失敗在庫中,我只有一個正方形,它將它轉換爲MovieClip。 (這裏是鏈接fla FL http://www65.zippyshare.com/v/65975812/file.html)。我使用Flash CS4 Pro

回答

0

我猜想它與3D轉換中心點有關 - 當您將它添加到舞臺時,它們將設置爲所討論對象的中心。在addChild()之前嘗試設置z = 0,初始化3d矩陣,並查看它是否立即消失。

如果確實如此,您可能需要查看動畫片段中0點的位置,或者甚至可以對其進行3d變換而不是常規x,y。

編輯: 很難搞清楚,而不需要在您的庫項目看上去是多麼的信息做什麼,但嘗試翻譯的方式相反的3D矩陣,要移動它,如photo.transform.matrix3D.appendTranslation(-100, -300, 0);你運動之後。還可以嘗試將所有位置設置爲0,並使Flash播放器窗口變大,以便看到對象。這應該給你一些什麼正在發生的暗示:)

+0

我不知道如何設法在不改變代碼的情況下完成這項工作,但是當我在主類中使用代碼時問題仍然存在。對象消失。 –

+0

特有的問題。嘗試將類中的代碼移到一個函數中,該函數會在剪輯添加到舞臺上時調用(但這是在黑暗中拍攝的)。像這樣; 'addEventListener(Event.ADDED_TO_STAGE,stageListener)'。 –

+0

我沒有必要添加監聽器,現在所有的工作。我不知道如何,我改變'stage.addChild'爲'addChild'也許是。 –

0

嘗試改變你的持續時間爲5秒,所以你可以看到它補間。

+0

問題是,當我點擊對象和動畫激活時,它消失了,與我試過的持續時間沒有任何關係。當我在舞臺上放置一個實例,然後測試電影時它正常工作,現在我不知道如何它甚至在我將初始化代碼放入第一幀的時候也可以工作,但是當我使用Document類來做同樣的事情時,它會失敗,並且有相同的問題。 –

+0

當然,這與持續時間無關。我的觀點是減少足夠的時間,所以你可以看到它噗噗。我對此的看法是它正在消失,因爲你的補間正在使它脫離屏幕。減慢它可以讓你看到。 「.25」在所有方面都是即時補間,你可能甚至無法弄清楚發生了什麼。這不是每個人都能回答的問題,而是更多的幫助您診斷問題的方法。但是我想你已經知道了,所以無論如何它都很好。 –

+0

對不起,這個問題困擾了我很多,使我蠻橫行事。我解決了這個問題,但我仍然無法弄清楚是什麼原因。有人認爲我把它放在視野之外,這就是爲什麼當我採取行動時它消失了在3d維度。 –