図1●スライドプレゼンテーションを開発するための画面。初期状態からスライドを2枚追加して,合計3枚にしたところ
図1●スライドプレゼンテーションを開発するための画面。初期状態からスライドを2枚追加して,合計3枚にしたところ
[画像のクリックで拡大表示]

 前回は,Macromedia Flash MX Professional 2004になって初めて搭載された「フォームアプリケーション」開発機能について説明しました。フォームの上にボタンやリストなどのコンポーネントを貼り付けて,個々のコンポーネントを制御するコードを記述してアプリケーションを作成するのは,Visual Basicなどを使ったことがある人にはおなじみの方法でしょう。今回は,同じくFlash MX Professional 2004から搭載された「スライドプレゼンテーション」開発機能について説明します。

スライドプレゼンテーションと
フォームアプリケーションの相違点

 スライドプレゼンテーションの開発は,フォームの上にコンポーネントを貼り付けてプログラムのコードを記述する,という点で,フォームアプリケーションの開発と似ています。ただし,スライドプレゼンテーションの開発では,コンポーネントを配置する際の土台のことを,フォームではなく「スライド」と呼びます。スライドは基本的にはフォームと同じような機能を備えているのですが,違うところもたくさんあります。今回はそのあたりも学んでください。

 スライドという言葉から,マイクロソフトのプレゼンテーション用ツール「PowerPoint」を連想される方も多いと思います。実際,スライドプレゼンテーションとして作成するアプリケーションは,キーボードやマウスの操作でスライドを次々と切り替えて表示させていくという点でPowerPointで作成するスライドに似ています。ただし,ただのスライド表示よりも,もっと凝ったことができるのが特徴です。

 スライドプレゼンテーションを開発するための画面*1 は,フォームアプリケーションを開発するための画面とほとんど同じです(図1[拡大表示])。どちらも画面の左に位置する[スクリーン]パネルを使って新規のスライド(フォーム)を追加し,中央の[ステージ]でフォーム上に画像,文字,コンポーネントを配置して画面を作っていきます。

 スライドプレゼンテーションとフォームアプリケーションの違いの一つは,複数のスライド(またはフォーム)を使う際の表示方法にあります。スライドプレゼンテーションは,スライドを1枚ずつ切り換えて表示する場合に向いており,フォームアプリケーションは複数のフォームを重ね合わせて表示する場合に向いています。

 実際に違いを確認してみましょう。Flashのメニューで[ファイル]-[新規]と選んで現れる「新規ドキュメント」ダイアログ内の「一般」タブで「スライドプレゼンテーション」を選択してください。開発画面が表示されたら[スクリーン]パネル上部の「+」ボタンをマウスでクリックして新規スライドを2枚追加し,合計3枚にします(図1)。そして[スクリーン]パネルで各スライドを順に選んで[ステージ]に表示させ,それぞれの区別がつくような文字や絵を描いておきます。

 描き終えたら,メニューから[制御]-[ムービープレビュー]を選択して,プレビュー画面で実行してみましょう*2。最初に1枚目のスライドの内容が表示されます*3。キーボードの矢印キー(左,右)を押してみると,表示するスライドが順番に切り替わることがわかります。

 それができたら今度は,新規ドキュメントとしてフォームアプリケーションを作成して,3枚のフォームを用意し,各フォームに異なる文字,あるいは絵を描いておきます。この状態でムービープレビューをすると,3枚のフォームの内容がすべて重ね合わされて表示されることがわかります。

 スライドプレゼンテーションとフォームアプリケーションは,Flashが備えるスクリプト言語である「ActionScript」を使用して表示状態を切り換える方法も異なっています。フォームの場合は基本的にフォームが備えるvisibleプロパティをActionScriptのプログラムから操作して個別に表示/非表示を切り換えます。これに対し,スライドの場合はgotoSlideメソッドなどを使用して,次にどのスライドに移動するかを指定して表示を切り替えます。

 スライドが備えるメソッドにはほかに,gotoFirstSlide,gotoLastSlide,gotoNextSlide,gotoPreviousSlideがあります。それぞれ,最初,最後,次,一つ前のスライドに移動する命令です。スライドでvisibleプロパティを使用して個々の表示/非表示を切り換えることもできますが,せっかくスライドだけに用意されているgoto~メソッドがあるのですから,これを使わない手はありません。スライドとフォームについてもう少し詳しく知りたい人は下記のカコミ記事「フォームとスライドの“親”は同じ」をお読みください。


フォームとスライドの“親”は同じ

 フォームとスライドは,異なるところもありますが,とてもよく似た仕組みを持っています。それもそのはず,この二つは,同じScreenクラスを親クラスに持つFormクラスとSlideクラスとして定義されているのです。両者ともScreenクラスのプロパティやメソッドを継承しているので,似たような仕組みになるのは当然でしょう。

 Java,C++,C#などのオブジェクト指向言語をご存じの方は,おなじみの「クラス」や「継承」という言葉を聞いて,おや? と感じているのではないでしょうか。実はFlash MX 2004が搭載するActionScript 2.0は,クラスの概念を用いたオブジェクト指向開発ができるようになっているのです。

 Flashをインストールしたフォルダ内には,デフォルトで装備している各種クラス(オブジェクト)の定義ファイルが用意されています(筆者の環境では,C:\Program Files\Macromedia\Flash MX 2004\ja\First Run\Classesフォルダ内です)。Screenクラス,Formクラス,Slideクラスの定義ファイルは,さらにClassesフォルダ内から\mx\screensとたどったフォルダ内に保存されています。ClassesフォルダはFlashのクラスライブラリと言えます。

 個々のクラス定義ファイル(拡張子がasのファイル)はテキスト形式のソースコードで記述されています。興味がある方は,それぞれのファイルをテキスト・エディタで開いて,実際のコードを通じてActionScriptでのクラスの定義方法や文法をつかんでみてください。


つづく…

吉岡 梅(よしおか うめ)
山梨県在住のソフトウエア開発者。

◆下記のURLから,サンプル・プログラムを無償ダウンロードできます
http://software.nikkeibp.co.jp/software/download/down04c.html#200405