Macromedia Flash MX 2004 Developerサンプル問題の解答です。解答はとくに日本語訳する必要もないものなので、気になった部分にコメントをつけてみしました。
1. ムービーAは、フレームレートが24fpsです。ムービーBは、フレームレートが12fpsです。ムービーBをムービーAの_level5にロードすると、ムービーBはフレームレートいくつで再生されますか?
答え: B. 24
2. アクセシビリティを備えたFlashコンテンツを制作するために、推奨すべき指針に当たらないものはどれでしょう?
答え: B. アニメーションするオブジェクトにAccessibility.isActive()メソッドを加える。
コメント: Accessibility.isActive()は、Flash Playerがスクリーンリーダーなどのアクセシビリティ補助ソフトと通信できているかどうかを調べるメソッドです。
3. 外部ActionScript 2.0クラスファイルを使用したアプリケーションを作成するために、選択可能なオプションをすべて挙げているものは、つぎのうちどれですか?
答え: D. PlayerバージョンはFlash Player 7でActionScript 2.0、またはFlash Player 6で([Flash Player 6r65用に最適化]のチェックは関係なく)ActionScript 2.0のいずれか。
コメント:「[パブリッシュ設定]で[ActionScript 2.0]を選択すると、文字どおりActionScript 2.0のシンタックスを使用することができます。しかし、前述のとおり、[Flash Player 6]を設定した場合でも、この選択は可能です。ActionScript 2.0のシンタックスでスクリプトを記述しても、書き出されるバイトコードは現在のところActionScript 1.0と基本的に異ならないからです。」『FLASH OOP』p.025
4. HTMLタグのうち、Flash MX 2004のダイナミックテキストフィールドでサポートされているものをふたつ選びなさい。
答え: A. <A>とB. <FONT>
5. (パブリッシュ設定で)ActionScript 2.0を使って作成したムービーを、再生することのできるFlash Playerのバージョンはどれですか?
答え: A. Flash Player 6以降。
コメント: 問3に続いて、ActionScript 2.0とFlash Playerの組合わせ問題が好きなようですね。実際問題としては、Flash Player 6書出しをするなら、ActionScript 1.0を使った方が、要らぬ不安を感じなくて済むように思います。
6. Windowコンポーネントの新規インスタンスを作成するステートメントをふたつ選びなさい。
答え:
B. this.createObject("Window", "cwDialog", 1);
E. this.createClassObject(mx.containers.Window,"cwDialog", 1);
コメント: UIObject.createObject()は、コンポーネントのために用意された、MovieClip.attachMovie()に代替するメソッドです。したがって、第1引数にはコンポーネントのリンケージ[識別子]を指定します。それに対して、UIObject.createClassObject()は、第1引数に直接クラスを指定して、インスタンスを作成します。
7. シンボルを(AS 2.0)クラスに登録して、さらにObject.registerClass()メソッドを呼出すと、シンボルに対する(クラスの)登録はどうなりますか?
答え: C. 新しい登録で置換えられる。
コメント: 原文の問題には「AS 2.0」という記述がありません。意味の取りにくい問題です。それ以前に、ActionScript 2.0と1.0の混用、クラスの二重登録は、試すまでもなく避けるべきでしょう。Object.registerClass()メソッドを後から呼出せば、シンボルに対するAS 2.0クラスの登録は上書きされます。しかし、#initclipブロックでActionScript 1.0クラスを登録してみたところ、ActionScript 2.0クラスの設定が有効になりました。あらゆる面から見て、愚問・悪問といえます。
8. つぎのどのキーワードを使うと、ランタイム時のクラスに、新規のプロパティやメソッドを追加できますか?
答え: D. dynamic
9. StringオブジェクトsTitleには、値として"Flash MX 2004"が設定されています。つぎのうち、値として"Flash"を返すものはどれですか? ふたつ選びなさい。
答え:
B. sTitle.substr(0, 5);
E. sTitle.substring(0, 5);
コメント:「Stringオブジェクト」ということは、コンストラクタ関数new String()でインスタンスを作成したということでしょう。もちろん、単なるリテラル値の文字列"Flash MX 2004"を使っても、同じ結果になります。
10. ムービーの第1フレームアクションにつぎのコードがあるとき、[制御]メニューから[ムービープレビュー]を選択すると何が起こりますか?
MyArray =["one", "two", "three"];
for (i=0, i
}
答え: B. コンパイルできずに[出力]パネルにはエラーが表示される。
コメント: 少々卑怯な問題です。変数名MyArrayとmyArrayが混在するので、Flash Player 7からの大文字・小文字の区別を問題にしているように見えます。しかし、その場合undefinedが出力されるはずですので、選択肢に該当するものがありません。よく見ると、forステートメントの()内が、カンマ(,)で区切られています。