1

しばらくの間、as3 を使用してフラッシュで iPhone 用の非常に簡単なゲームを作成してきました。最近、小さな問題に遭遇したので、これを投稿しています!

問題: すべてが派生するスーパークラスがあります。スーパークラスでは、オブジェクトを開始してステージに配置します。

 1. var myObject:typeA = new typeA();
 2. stage.addChild(myObject);

ご覧のとおり、このオブジェクトは、ocf という独自の actionscript ファイルを持つクラス「typeA」に従います。このファイル内で、文字列型のグローバル変数を宣言しました。

私がやりたいことは、新しいオブジェクトの変数をスーパークラスから変更することです。そのため、次のように試しました:

 1. myObject.myVariable = 'someSortOfString';

残念ながらうまくいきませんでした。サブクラスの変数をスーパークラスから変更します。

4

1 に答える 1

1

サブクラスからアクセスされている変数を保護 (またはパブリック) として宣言する必要があります。デフォルトでは、変数はプライベートであるため、スーパークラスのみがアクセスできます。

例: protected var myObject:typeA = new typeA();

ところで、「サブクラス変数をスーパークラスから変更する」のではなく、サブクラスからスーパークラス変数を変更するという意味でしたか?

于 2011-01-03T22:05:30.180 に答える