2011-10-24 12 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); 

UPDATE: 私はそれを動作させるために成功した私は、コードを変更していなかったので、bit.Theの問題は、私は解決策が何であるかを知らないと私は同じに遭遇しているのか分かりません他の例の問題。 これは最初のフレームで使用したコードです。

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

そして、これは私がdiferrenceを作ったものを言うことができないとworked.Iが別のFLAにまったく同じことをやろうと失敗した私は、メインクラス

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

に使用されるコードでありますライブラリには、MovieClipに変換した正方形が1つしかありません。 (ここにはfla http://www65.zippyshare.com/v/65975812/file.htmlとのリンクがあります)私はFlash CS4 Proを使用しています

答えて

0

私は3D変換の中心点と何かがあると思います。ステージに追加すると、問題のオブジェクトの中心に設定されます。 addChild()を実行する前にz = 0を設定して、3dマトリックスを初期化し、それが即座に消えるかどうかを確認してください。

もしそうであれば、ムービークリップの0ポイントを調べるか、通常のx、yの代わりに3Dトランスフォームを行う必要があります。

EDIT: それはあなたのライブラリーの項目がどのように見えるかについての詳細なしで実行する必要が正確に何を把握するのは難しいですが、あなたはそれを移動する方法とは反対の3Dマトリックスを翻訳してみてください、あなたの移動後の例えばphoto.transform.matrix3D.appendTranslation(-100, -300, 0);。また、すべてのポジションを0に設定し、フラッシュプレーヤーのウィンドウを大きくしてオブジェクトを確認してみてください。これはあなたに何が起こっているのいくつかのヒントを与える必要があります:)

+0

どういうわけか私はコードを少し変更することなくこの仕事を手に入れることができましたが、メインクラスのコードを使用すると問題は残ります。オブジェクトが消えます。 –

+0

特有の問題。クラスのコードを、ステージにクリップが追加されたときに呼び出される関数に移動してみてください(これは暗闇でのショットです)。そのようです; 'addEventListener(Event.ADDED_TO_STAGE、stageListener)' –

+0

私はリスナーをすべて追加する必要はありませんでした。私はどのようにして 'stage.addChild'を' addChild'に変更したのか分かりませんでした。 –

0

あなたはそれがトゥイーンを見ることができるように5秒のようなものにあなたの期間を変更してみてください。

+0

問題は、オブジェクトをクリックするとアニメーションがアクティブになると消えてしまい、試した時間とは関係がありません。ムービーをテストする前にステージ上にインスタンスを配置すると、正しく動作します。最初のフレームの中に初期化コードを配置しても機能しますが、Documentクラスを使用して同じことを行う場合、同じ問題が発生します。 –

+0

もちろん、それは期間とは関係ありません。私のポイントは、あなたがそれがうまく行くのを見ることができるように、継続時間を十分に遅くすることでした。私の考えは、あなたのトゥイーンがそれをスクリーンから外す原因となっているため、消えています。それを遅くすると、それを見ることができます。 ".25"はすべての面でインスタントトゥイーンであり、あなたはおそらく何が起こっているかを考え出すことさえできません。これは、言葉ごとの答えではなく、診断に役立つより多くの方法でした。しかし、私はあなたがそれをすべてとにかく分かりました。 –

+0

この問題は私をたくさん困らせて、私を無謀に行動させました。問題は解決しましたが、原因は何かを特定できません。 3D次元で。 –