私は常に構文を使用して MovieCLips に追加のプロパティを作成しました
myMC.myProperty
なんら宣言なしで...しかし、このメソッドはMovieClipsでのみ使用できます..ボタンまたは別のタイプのオブジェクトにプロパティを追加したい場合はどうなりますか? クラスを拡張する必要がありますか?方法を提案できますか?どうもありがとう
私は常に構文を使用して MovieCLips に追加のプロパティを作成しました
myMC.myProperty
なんら宣言なしで...しかし、このメソッドはMovieClipsでのみ使用できます..ボタンまたは別のタイプのオブジェクトにプロパティを追加したい場合はどうなりますか? クラスを拡張する必要がありますか?方法を提案できますか?どうもありがとう
MovieClip
はdynamic
クラスであるため、実行時にムービークリップにプロパティを追加できます。クラスが動的でない場合は、クラスを拡張してメソッドとプロパティを作成する必要があります。
動的クラスについて読んでください。
サブクラスが主なソリューションです。
Nextは、mxコンポーネント(flex sdk 3)でのみ機能します。ほとんどのコンポーネントにはデータがあります:データを格納するために自由に使用できるオブジェクトプロパティ。
モンキーパッチが唯一の方法である場合があります。これにより、カスタムプロパティをflexsdkクラスに追加できます。私はあなたがあなたの場合にそれを使うべきではないと思います。しかし、私はそれを使用して、flexsdkのprivateキーワードによってロックされているコアロジックを変更しました。
お役に立てば幸いです。
私はほとんどすべてのカスタムクラスを作成する傾向があります。関連するクラスを拡張し、新しいプロパティ用に
を設定します。private var
次に、値をコンストラクターに渡すか、getter/setterメソッドを追加して外部で呼び出すことができます。
private function _myProperty:int;
public function get myProperty():int
{
return _myProperty;
}
public function set myProperty(newVal:int):void
{
_myProperty = newVal;
}
ゲッター/セッターメソッドは、不要に見えるかもしれない数行のコードを追加しますが、大規模なプロジェクトでは、プロパティが設定されていることがわかり、理由がわからない場合は、ブレークポイントを設定できます。set myProperty