2012-02-18 9 views
0

私はプロジェクトに取り組んでおり、ステージを拡張しました(ただ1つの関数を追加したかっただけです)。通常のクラスを拡張クラス(暗黙の強制)にコピー

とにかく、私は新しいStageクラスを(のはのstageXそれを呼びましょう)が作成され、私はこのようなコードの行だった:

var newstage:StageX = stage;

をしかし、これは私に暗黙の強制エラーが発生します。

私の質問は、現在のステージvarから新しいStageXにすべてをコピーする方法はありますか?または、私は新しい "convertToStageX"関数を作成してそれを自分自身で行う必要がありますか?または、それはフラッシュの不可欠な部分であるため、ステージを拡張する用途はありませんか?

ありがとうございます!

+0

その関数は何をしますか? – sch

+0

頻繁に使用されるプロパティを吐き出すだけです。私はdimenion(xまたはy)とオブジェクトの幅を渡します。それは私に左上のxとyを与えるだろう、それはオブジェクトを完全に中央に置くことを必要とするだろう。それは多くの形とサイズを変更します –

答えて

0

ステージを拡張する理由がわかりません。呼び出し可能なメソッドを持つステージへの参照を持つオブジェクトを作成するだけで、ステージに何らかの影響を与えます。これは、機能をカプセル化し、実際のステージで邪魔しないようにします。

+0

ああ、良いアイデア。さて、私たちはaway3dを使用しているので、ビュー内にステージがあります。複数のビューがあるので、変数を使用して現在のアクティブステージを参照します。 –

0

試してみてください。

var newstage:StageX = StageX(stage); // throws an error if the cast is not possible 

それとも

var newstage:StageX = stage as StageX; // new stage is null if the cast is not possible 
+0

ああ!私は最初のものが選択肢だったことを知らなかったが、今は私がそれを見ることは意味がある。どうもありがとう! –

関連する問題