ActionScript 3.0でサイト遷移構造を実装する

Similar documents
ノンスクリプトでフルFlashサイトを構築

スライド 1

Microsoft Word - XOOPS インストールマニュアルv12.doc

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

PowerPoint プレゼンテーション

PowerPoint Presentation

UMLプロファイル 機能ガイド

JP-2-Develop Websites and Components in AEM v6x_(V3_after QA)_1111

PowerPoint プレゼンテーション

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

更新履歴 変更履歴 版数 リリース日 更新内容 第 1 版 2017/5/15 第 1 版発行 第 2 版 2017/7/13 更新履歴 変更内容を追加 (2ページ) 編集の前に を追加(8 ページ ) ブロックエディタ スマートモード エディタモード の説明を追加 (10~12 ページ ) ブロッ

スライド 1

CubePDF ユーザーズマニュアル

目次 1. テンプレートの準備 1.1 エクセルファイルの準備 1.2 タグを作成する 1.3 エクセルファイルの表示調整 2.PC へテンプレートを追加 3.iPad での ICLT の操作 3.1 入力者の操作 入力者のログイン テンプレートを更新する チェッ

目次 はじめに...3 チュートリアル素材のご利用に関して... 4 完成イメージ...5 一連の流れ 5 STEP 1. クイズの新規作成...6 STEP 2. 一般公開 ( オンラインストレージ ) 終わりに お問い合わせ お問い合わせ窓口 更新

Microsoft Word - CMSv3マニュアル-STB編(WindowsPC).docx

「MT-3_2-ja

Prog2_12th

Word 押印メニューバー使用ガイド

スライド 1

レビューとディスカッション 機能ガイド

JAIRO Cloud 初級ユーザー向け手引書 1. ユーザーアカウント管理 JAIRO Cloud 事務局 協力 : オープンアクセスリポジトリ推進協会 (JPCOAR) JAIRO Cloud 運用作業部会 ver date 修正内容 /11 初版

ArcGIS for Server での Web マップの作成方法

FutureWeb3 Web Presence Builderマニュアル

CodeGear Developer Camp

SHOP99 99 SHOP サイトにデータベースを構築 phpmyadminの設定 1 ー 監修 Yours YoursCompany Company 監修 Yours

すると メインメニューと呼ばれる DC さくらのメインウィンドウ部が表示されます ( 下の画面がスクリーンシ ョットです ) メインメニューは ウィンドウ右上の ボタンを押すと閉じます リスト内のアイテムは ダウンロードのタスクを表します ダウンロード状況を把握できます メニュー項目やボタンの説明は

Delphi/400でFlash動画の実装

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

( 目次 ) 1. XOOPSインストールガイド はじめに 制限事項 サイト初期設定 XOOPSのインストール はじめに データベースの作成 XOOPSのインストール

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

Microsoft Word - Mac版 Eclipseの導入と設定.docx

PowerPoint プレゼンテーション

セットアップチュートリアル SlingPlayer 伊藤忠商事株式会社 1

改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ

リコーデジタルサイネージクイックガイド

第1章 ビジュアルプログラミング入門

変更履歴 日付 ver 変更箇所 変更内容 2016/8/ 新規作成 2017/1/ 全体 参照 以下 等に係る記載揺れの統一 2017/2/ 全体 参照先の記載を修正 2017/5/ ASM に情報登録 リンクの URL を修正 参考リンク集

eYACHO 管理者ガイド

(4) 文字サイズ ( フォントサイズ ブロック ) デザイン管理 > レスポンシブ Web デザイン > レイアウト設定 ヘッダー部 に配置しています (5) カゴの中 ( ヘッダー カゴの中 ブロック ) デザイン管理 > レスポンシブ Web デザイン > レイアウト設定 ヘッダー部 に配置し

目次 1 はじめに 利用条件 動作環境 アドインのインストール アドインの操作方法 アドインの実行 Excel CSV の出力 テンプレートの作成 編集 テンプレートのレイアウト変更 特記

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

Team Foundation Server 2018 を使用したバージョン管理 補足資料

( 目次 ) 1. PukiWiki インストールガイド はじめに 制限事項 サイト初期設定 PukiWiki のインストール はじめに データベースの作成 PukiWiki

Prog2_9th

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

1. WebShare(HTML5 版 ) 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx 2 ユーザー名 パ

利用者

DBMSリポジトリへの移行マニュアル

ICLT 操作マニュアル (2011 年 05 月版 ) Copyright 2011NE 東京株式会社 All Rights Reserved

日本作物学会講演要旨PDFファイルの作成手順

更新履歴 No 更新箇所版数日付 1 第一版作成 /12/28 2 一部画像差し替え 誤字修正 /02/09 2

Design with themes — Part 1: The Basics

目次 Webフォルダの特長と仕組み 3 Webフォルダの開き方 4 1 児童生徒の場合 4 2 先生の場合 5 Webフォルダ機能 ファイルのアップロード ( 保存 ) 6 ファイルのダウンロード 7 ファイルの開き方 8 新規フォルダの作成 9 フォルダ ファイルの名称の変更 10 フォルダ ファ

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

第1章 ビジュアルプログラミング入門

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

Microsoft Word - 3章コンテンツ管理.doc

引き算アフィリ ASP 登録用の日記サイトを 作成しよう Copyright 株式会社アリウープ, All Rights Reserved. 1

( 目次 ) 1. Joomla! インストールガイド はじめに 制限事項 サイト初期設定 Joomla! のインストール はじめに データベースの作成 Joomla! のインストール...

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

KDDI ホスティングサービス G120 KDDI ホスティングサービス G200 WordPress インストールガイド ( ご参考資料 ) rev.1.2 KDDI 株式会社 1

intra-mart Accel Platform

スライド 1

インストールマニュアル

マイフォルダへのアクセス マイフォルダ をクリックすると マイフォルダの一覧画面へ遷移します 利用の手引き ver.5 フォルダの作成 新規フォルダ をクリックして フォルダ名を入力し 作成 ボタンをクリックする ファイルのアップロード ファイルをアップロードしたいフォルダをクリックして開き アップ


SmartBrowser_document_build30_update.pptx

Microsoft Word JA_revH.doc

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア ントと本資料に差分が発生する場

印刷アプリケーションマニュアル

インストール後のアプリケーション実行

事前にご確認をお願いします InternetExplorerを起動し 右上のツールボタン インターネットオプション を左クリックします を左クリックし Internet Explorer10 設定手順書 2 / 23

TestDesign for Web

ホスティングA管理画面[Plesk]マニュアル コンテンツアップロード編

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

三重県電子調達システム < 本書の目的 > 2014/4/10 Internet Explorer 9.0 設定手順書 更新 2014 年 4 月より 三重県公共事業電子調達システムは新システムへ移行しました システムの移行に伴い 電子入札に利用するパソコンの設定変更作業が必要になります 本書は 現

インストール要領書

クイックスタートマニュアル目次 スマホサイトビルダーモビークとは? モビークの特徴 ドラッグ& ドロップで簡単編集 スタイリッシュなデザイン部品 PC サイトと自動連動 最高のSEO 対策導入までの流れ STEP1 初期デザイン設定 STEP2 ページの登録 STEP3 スマホページの編集 STEP

目次 概要... 2 フォームレイアウトデザイナー機能の設定... 3 設定したフォームレイアウトデザイナーの確認...14 その他スタイルの設定...15 フォームレイアウトデザイナーをエクスポート...17 フォームレイアウトデザイナーをインポート...18 インポート時の制限事項...19 リ

Microsoft Word - ShareFastClientManual_JP_R1-1-0.doc

V-CUBE One

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

スライド 1

1. WebShare 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx. 2 ログイン名 パスワードを入力し

Application Note Application Note No. ESC-APN 文書番号 : ESC-APN Tcl link library インストールガイド はじめに Tcl link library インストールガイド ( 以下 本書 ) では Act

Jimdo解説.indd

Microsoft Word - 参照データ使用方法.docx

スライド 1

第21章 表計算

Studuinoソフトウェアのインストール

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することが出来る便利なアプリケーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライアントと本資料に差分が発生する場合が

■デザイン

2 COPYRIGHT TempNate. ALL RIGHTS RESERVED.

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

PowerPoint プレゼンテーション

産能大式フローチャート作成アドインマニュアル

Maser - User Operation Manual

Transcription:

集中連載 text _ 阿部貴弘 Progression プロダクトマネージャー / デザイナー Web デザ イン会社 Web サービス会社などを経て Progression プロジェ クトの開発 運営を展開中 現在は講演活動と同時にグローバ ルな普及を目指しています http://progression.jp/ Flash 開発の新機軸 ActionScript ライブラリ SERIES #08 Progression クラススタイル編 :ActionScript 3.0 でサイト遷移構造を実装する Progressionは Flashサイトに HTMLサイトのようなページ遷移やディープリンクといったサイトの基本機能を実装するためのフレームワークです その利用方法には ユーザーの ActionScriptスキルに合わせて コンポーネント タイムライン クラス の 3つのスタイルが用意されています シリーズ最終回となる今回は その中でも ActionScript 3.0を使うクラススタイルを解説します Progressionを導入すれば サイト構造と遷移機能を簡単に実装できるようになるため これから ActionScript 3.0 によるサイト構築手法を習得したい人だけでなく すでに独自でノウハウを習得している人にもおすすめしたい手法です 本記事では クラススタイルの基本的なスクリプティングフローとサンプル事例を紹介します コンポーネントスタイルについては 2009 年 2 月号の本連載にて詳しく解説しています タイムラインスタイルについては P129 のコラムを参照してください Progression が用意する流れの上に処理を設定する ActionScript はそのバージョン 3.0で より堅牢なオブジェクト指向プログラミングへと進化しました Progressionの クラススタイル は ActionScript 3.0 の設計思想に準拠するように開発された制作スタイルです コンポーネントスタイルやタイムラインスタイルは ActionScript 3.0 の一部の機能を扱いやすく加工したものですが クラススタイルではすべての機能を直接操作することが可能となっており ActionScript 3.0 のパフォーマンスを最大限に引き出しながらサイトを構築することができます Progression クラススタイルと従来のスクリプティング手法との最大の違いは 処理の流れの扱い方 です 通常 Flashを制作する場合 外部データの読み込み や アニメーション処理 などのさまざまな 時間の掛かる処理 を addeventlistener() メソッドによるイベント監視で繋ぎ合わせることで開発を Progression には サイトの基本機能を実装するためのクラス以外にも エフェクトやコマンドなどのさまざまな機能があります しかも 日本語による充実した API リファレンスが用意されています http://asdoc.progression.jp/ 進めます しかし 個々の処理単位でイベント監視を行うとなると スクリプトも複雑になり 管理の面でも非常に大変です その管理や動作の整合性チェックに時間と手間がかかり 表現を追求する余裕がないという人も多いのではないでしょうか Progression の場合は 一つひとつの処理を繋げて流す のではなく Progressionが用意する流れの上に処理を設定する ように設計されています こうすることで 流れの制御を気にせずにコンテンツ制作が行えるようになります それでは クラススタイルのスクリプティング手法を解説していきますが そ の前に基本的なスクリプティングフローを把握しておきましょう Progression は 個人サイト 企業サイト プロモーションサイトなど すでに 210 以上のサイトで利用されています Progression 公式サイトのショーケースでは 導入事例の一部が紹介されています http://progression.jp/ja/showcase/ 122 Web Designing

ActionScript Library_Progression クラススタイルでの基本的なスクリプティングフロー Progressionでは シーン (SceneObject ) キャストオブジェクト (CastObject) コマンド(Command) というクラスを使って サイトの基本機能 ( 処理の流れ ) を実装します 各クラスの役割は 右のように考えるとわかりやすいでしょう スクリプティング方法は 作成するサイトによって変わってきますが 基本的なスクリプティングフローは 以下のようになります まずは このフローを覚えて 次のページから実際にスクリプトを書いてみましょう Progression = 監督シーン (SceneObject )= 脚本上の舞台キャストオブジェクト (CastObject)= 役者 大道具 小道具コマンド (Command)= 脚本上の構成 流れ 01 シーンの作成 構築するシーン構造に合わせて SceneObject クラスを使ってシーン構造を作成します 個々のシーンは 単なる器なので 中は空っぽの状態です なお SceneObject クラス は ActionScript 3.0 の Sprite や MovieClip と同じようなものです そのため 以下の 2 パターンの設定方法が使用できます 1. SceneObject を継承して シーンの数だけファイルを作成する 2. new SceneObject() して インスタンスのプロパティ操作で設定を行う 02 キャストオブジェクトの作成とコマンド設定 Progression で制御したい表示オブジェクトなどは キャストオブジェクトとして CastSprite クラスや CastMovieClip クラスを使って作成します キャストオブジェク トの作成も SceneObject クラス同様に 継承するパターン と インスタンスに個性を設 表示オブジェクトの作成やコマンド設定は SceneObject クラス内でも可能ですが コンテンツや表現が複雑な場合は キャストオブジェクトとして管理した方が効率的です 定するパターン の 2 種類が利用可能です また キャストオブジェクト内にアニメーショ ン処理などのコマンドを設定します 03 イベント処理の設定 シーン構造とキャストオブジェクトを作成したら 次は どのシーンでどのキャストオブジェクトを表示させるか といった処理を設定します 該当シーンへ到着した瞬間 該当 シーンから別のシーンへ移動した瞬間など シーン移動時に発生する各種イベント時の処 理 ( オブジェクトの表示 削除など ) を設定します 04 ボタンを作成 シーンに沿って画面を表示する処理まで完成したら ユーザー操作に従って各シーン間 home work about contact を移動するナビゲーション処理を設定します ナビゲーションボタンには CastButton クラスを使用します CastButton クラスも SceneObject クラス同様に 継承するパター ン と インスタンスに個性を設定するパターン の 2 種類が利用可能です 05 プリローダーの作成 Loading 60 最後にプリローダーを作成して完成です プリローダーは Preloader クラスを使って 作成します Web Designing 123

集 中連載 Flash 開発の新機軸 ActionScript ライブラリ TUTORIAL クラススタイルの基本コーディングを覚えよう それでは クラススタイルで右図にあるサンプルサイトを制作しながら 基本的なコーディングを解説していきましょう サンプルは ルートシーンと 2つの子シーンを持つシンプルな構成です なお ここでは Progressionのバージョン 3をベースに解説しています バージョン 3を利用するには Flash CS3 以降が必要です 01 Progression をインストールする Progression は Flash の拡張機能として組み込まれ そのパッケー ジは公式サイト (http://progression.jp/) から入手します イン ストールに成功すると メニューの ウインドウ その他のパネ ル に Progression プロジェクト が追加されます パッケージは MXP JSFL SWC の 3 つの形式を用意 しています 通常は MXP 形式を利用して下さい ダウンロードした MXP 形式ファイルをダブルクリックすると Adobe Extension Manager が起動してインストールが開始されます Progressionプロジェクト 制作スタイルの選択 コンテンツサイズなどの基本設定を行います 02 プロジェクトのセットアップ Progression を使ったプロジェクトの作業を開始するには まず Progressionプロジェクト パネルを開きます 今回はクラススタイルで作成するので 種類メニューから クラス を選び その下にあるタブで基本設定を行います 設定後 新しく作成する ボタンをクリックすると プロジェクトに必要なファイル群が 自動生成されます プロジェクトの名前は 書き出される 一般 タブでは Flash サイトの幅やフォルダ名や Flash を埋め込む HTML 高さ 背景色などを設定しますの title 要素に使用されます View & Download サンプルデータをダウンロードする際には 目次に掲載している ID とパスワードが必要です http://book.mycom.co.jp/wd/ Flash タブでは フレームレートやウ ActionScript タブでは 自動的に書インドウモードを設定しますき出される as ファイルに関連した設定を行います 今回はデフォルトのままにしておきます 各種設定後 新しく作成する ボタンをクリックするとプロジェクトに必要なファイル群が自動生成されます 今回 シーンやキャストオブジェクトの定義は templates フォルダ内にあるファイルをコピーして そのファイルにスクリプトを記述します 124 Web Designing

ActionScript Library_Progression 03 ページの各パーツを作成する このサンプルサイトのページは テキストや画像だけを配置した 1 つの MovieClip シンボルです 自動生成した index.fla を開き 各ページの MovieClipシンボル (IndexPage FeaturePage ContactPage) と各ナビゲーションボタンの MovieClipシンボル (IndexButton FeatureButton ContactButton) を作成して ライブラリに登録します それぞれ シンボルプロパティウインドウを開き リンケージのクラス項目を設定します 各ページの MovieClip シンボル シンボルプロパティウインドウを開いてリンケージのクラス項目に 各ページの場合は myproject.indexpage myproject.featurepage myproject.contactpage 各ナビゲーションボタンの場合は myproject.indexbutton myproject.featurebutton myproject. ContactButton と設定します 04 初期設定をする Progressionを使う上で必要となる初期設定を行います ドキュメントクラスとなる Indexクラス 1を編集します index.asファイルを開いて 54 行目 ~ 60 行目のコードを右のように変更します ( 赤字部分 ) prog = new Progression( ) はProgression インスタンスを作成するためのもので Progression を使用する上でもっとも重要なコードです 第一引数にはインスタンスを識別するためのユニークな識別子を 第二引数には関連付けたい stage インスタンスの参照を 第三引数にはルートシーン ( ここではIndexScene) として使用したいクラスの参照を設定します 2 prog.syncはブラウザ同期を有効化するための設定です 今回はブラウザ同期をさせるので設定値を true に変更します prog.goto() メソッドでは シーンの移動を行っています 特に理由がなければこのままの状態にしておきます 省略 // Progression インスタンスを作成します prog = new Progression( "index", stage, IndexScene // ブラウザ再生時に URL 同期を有効化します prog.sync = true; // 最初のシーンに移動します prog.goto( prog.firstsceneid 省略 1 Index クラスは CastDocument クラスを継承しています CastDocument クラスは ドキュメントクラスとして必要となるさまざまな機能が追加され た MovieClip クラスのサブクラスです 2 ブラウザ同期とは SWFAddress を使用した機能です コンテンツに合わせ たシーン構造を作成するだけで ディープリンクの制御をまったく意識せず とも 各シーンと Web ブラウザの URL が自動的に同期するようになります Index.as ファイルでの変更例 05 シーンを作成する クラススタイルでシーンを扱うには SceneObject クラスを使用します SceneObject クラスをそのまま new して使用することもできますが 今回は SceneObject クラスのサブクラスを作成して その中に各種設定を行うことにしましょう サブクラスを作成するには プロジェクト内の templatesフォルダにある MySceneObject. asというテンプレートファイルを使用するのが便利です MySceneObject.asをsrc/classes/myproject フォルダ内にシーンの数だけコピーして IndexScene.as FeatureScene.as ContactScene.as という 3つのファイルを作成します 各ファイルを開き パッケージ名を myproject に クラス名とコンストラクタ名をファイル名に対応したものに変更します ( 赤字部分 ) これでシーン構造を作成する準備が整いました package myproject { 中略 * IndexScene クラス public class IndexScene extends SceneObject { * コンストラクタ public function IndexScene() { templates フォルダ内にある MySceneObject.as を src/classes/myproject フォルダ内にシーンの数だけ コピーします IndexScene.as ファイルでの変更例 Web Designing 125

集 中連載 Flash 開発の新機軸 ActionScript ライブラリ シーン構造の作成は 04 で Progression インスタンスを作成する際に第三引数に設定したルートシーン (IndexScene) から始めます IndexScene.as を開いて コンストラクタに子シーンとなるFeatureSceneとContactSceneを作成するコードを追記します ( 赤字部分 ) このサンプルでは 孫シーン ( 子シーンの子シーン ) がないため FeatureScene.as と ContactScene.as ではコードを追記する必要はありません 孫シーンがある場合は 該当する子シーンにコー public function IndexScene() { // FeatureScene を作成 var feature:featurescene = new FeatureScene( feature.name = "feature"; addscene( feature // ContactScene を作成 var contact:contactscene = new ContactScene( contact.name = "contact"; addscene( contact IndexScene.as ファイルでの変更例 ドを記述します 以上でシーン構造ができました 次にキャストオブジェクトを 作成します 06 キャストオブジェクトを作成する Progression で制御したい表示オブジェクトはキャストオブジェクトとして作成します このサンプルでは 各シーンに表示するオブジェクトは 1つのMovieClipシンボルです ここでは シーン作成時と同様にテンプレートから作成します templatesフォルダ内にある MyCastSprite.asをsrc/classes/myprojectフォルダ内にコピーして 各シーンに対応するように IndexPage. as FeaturePage.as ContactPage.asの3つのファイルを作成します そして 各ファイルを開き パッケージ名を myproject に クラス名とコンストラクタ名をファイル名に対応したものに変更 package myproject { 中略 * IndexPage クラス public class IndexPage extends CastSprite { * コンストラクタ public function IndexPage( initobject:object = null ) { super( initobject IndexPage.as ファイルでの変更例 します ( 赤字部分 ) templates フォルダ内にある MyCastSprite.as を src/classes/myproject フォルダ内にシーンの数だけ コピーします 07 キャストオブジェクトにコマンドを設定する キャストオブジェクトを作成したら 演出となるコマンドを設定しましょう Progression には さまざまな種類のコマンドが用意されています このサンプルでは DoTweener クラス 3 を使ってアニメーション処理を設定します ここで設定しているのは オブジェクトを表示 / 非表示する際に透明度を変化させるアニメーションです また コマンドを設定するには キャストオブジェクト側のイベントについて理解する必要があります キャストオブジェクトインスタンスで発生する代表的なイベントは以下の 2つです 3 DoTweener クラスは 名前からわかるように Tweener を使うためのコマンドです Tweener と同じようなフォーマットで処理を記述することができます // キャストオブジェクトがディスプレイリストに追加されたときの処理 protected override function _oncastadded():void { // ページを透明にする alpha = 0; // 実行したいコマンドを登録 // ページを 1 秒かけて不透明にする new DoTweener( this, { alpha:1, time:1 ) // キャストオブジェクトがディスプレイリストから削除されたときの処理 protected override function _oncastremoved():void { // 実行したいコマンドを登録 // ページを 1 秒かけて透明にする new DoTweener( this, { alpha:0, time:1 ) イベント CastEvent.CAST_ADDED CastEvent.CAST_REMOVED 説明 キャストオブジェクトが AddChild / AddChildAt / AddChildAtAbove コマンド経由でディスプレイリストに追加された瞬間に発生 このイベントは oncastadded イベントハンドラメソッドや _oncastadded() オーバーライド イベントハンドラメソッドでの設定も可能 キャストオブジェクトが RemoveChild / RemoveAllChildren コマンド経由でディスプレイリストから削除された瞬間に発生 このイベントは oncastremoved イベントハンドラメソッドや _ oncastremoved() オーバーライド イベントハンドラメソッドでの設定も可能 IndexPage.as ファイルでの変更例 126 Web Designing

ActionScript Library_Progression 08 イベントを設定する シーン構造とキャストオブジェクトを作成したら 次は どのシーンでどのキャストオブジェクトを表示させるか という処理を設定しなければなりません 各シーンで必要となる処理は シーンの移動状態に応じて発生するイベントに対して設定する必要があります シーン移動時に SceneObject インスタンスで発生する代表的なイベントは右の 4つです また これらのイベントは下図のタイミングで発生します このサンプルでは 各シーンで 対応する MovieClipシンボルを表示 / 削除する 処理を作成します まずは IndexScene クラスに対して右のようなコードを追記します ( 赤字部分 ) 同様に FeatureSceneクラスと ContactSceneクラスにも追記します ( 詳しくはダウンロードファイルを参照 ) これでイベントの設定は完了です _ongoto _oninit _oninit _oninit _onload _ongoto _onunload _oninit _ongoto _onload _onunload _onload _ongoto _onunload イベント SceneEvent.INIT SceneEvent.GOTO SceneEvent.LOAD SceneEvent. UNLOAD 説明 public var page:indexpage; 移動先として指定したシーンに到着した瞬間に発生 主にそのシーンでのみ表示したい画面処理などで使用します このイベントは oninit イベントハンドラメソッドや _ oninit() オーバーライド イベントハンドラメソッドでの設定も可能 移動処理が開始され 現在のシーンから移動する瞬間に発生 主に SceneEvent.INIT で表示した画面の消去処理などで使用します このイベントは ongoto イベントハンドラメソッドや _ongoto() オーバーライド イベントハンドラメソッドでの設定も可能 移動目的地のシーンが自身もしくは子シーンを示している場合 移動処理時に階層が変更された瞬間に発生 主に階層を下っても継続的に表示される画面処理などで使用します このイベントは onload イベントハンドラメソッドや _onload() オーバーライド イベントハンドラメソッドでの設定も可能 移動目的地のシーンが親シーンを示している場合 移動処理時に階層が変更された瞬間に発生 主に SceneEvent.LOAD イベントで表示した画面の消去処理などで使用します このイベントは onunload イベントハンドラメソッドや _onunload() オーバーライド イベントハンドラメソッドでの設定も可能 public function IndexScene() { // FeatureScene を作成 var feature:featurescene = new FeatureScene( feature.name = "feature"; addscene( feature // ContactScene を作成 var contact:contactscene = new ContactScene( contact.name = "contact"; addscene( contact // IndexPage を作成 // あらかじめライブラリにシンボルとして登録済み page = new IndexPage( protected override function _oninit():void { // 画面にシンボルを表示 new AddChild( progression.container, page ) protected override function _ongoto():void { // 画面からシンボルを削除 new RemoveChild( progression.container, page ) IndexScene.as ファイルでの変更例 09 ボタンを作成する ここまででシーンに沿って画面を表示する処理まで完成しました あとはユーザー操作に従って各シーン間を移動できるようになれば Web サイトとして必要な機能を一通り揃えることができます Progressionでは HTMLでの <a> 要素に相当する機能であるボタン機能が用意されています ボタンの作成もシーン作成時と同様に templatesフォルダ内にあるmycastbutton.asをコピーして 各シーンに対応するようにIndexButton.as FeatureButton.as ContactButton.asの3つのファイルを作成します そして 各ファイルを開き パッケージ名を myproject に クラス名とコンストラクタ名をファイル名に対応したものに変更します ( 赤字部分 ) package myproject { 中略 * IndexButton クラス public class IndexButton extends CastButton { * コンストラクタ public function IndexButton( initobject:object = null ) { super( initobject templates フォルダ内にある MyCastButton.as を src/classes/myproject フォルダ内にボタンの数だけ コピーします IndexButton.as ファイルでの変更例 Web Designing 127

集 中連載 Flash 開発の新機軸 ActionScript ライブラリ 次に IndexButton.as を開いて コンストラクタに右のよう な移動先を設定するコードを追記します ( 赤字部分 ) 同様に public function IndexButton( initobject:object = null ) { super( initobject FeatureButton クラス ContactButton クラスにも表にある移 動先を追記します コンストラクタで指定している CastButton // クリック時の移動先を設定する sceneid = new SceneId( "/index" クラスの SceneId プロパティが ボタンがクリックされた際の移 動先シーンとなります この設定は特に必要がない限りはコンス IndexButton.as ファイルでの変更例 トラクタで行うようにしてください クラス名 SceneId の値 IndexButton new SceneId( "/index" ) FeatureButton new SceneId( "/index/feature" ) ContactButton new SceneId( "/index/contact" ) すべてのボタンクラスが完成したら Index クラス (index.as) を開いて ボタンを画面に表示させるコードを追記します ( 赤字部分 ) ボタンが表示できたら index.fla をプレビューし 実際にボタンが機能すること シーンを移動すること 画面が正しく変更されることを確認してください protected override function _oninit():void { 中略 // IndexButton を作成 var indexbutton:indexbutton = new IndexButton( indexbutton.x = 514; addchild( indexbutton // FeatureButton を作成 var featurebutton:featurebutton = new FeatureButton( featurebutton.x = 568; addchild( featurebutton // ContactButton を作成 var contactbutton:contactbutton = new ContactButton( contactbutton.x = 657; addchild( contactbutton Index.as ファイルでの変更例 10 プリローダーを作成する プリローダーを作成するには プロジェクト内の src フォルダ内にあるpreloader.fla を編集します Preloaderクラスは CastPreloader クラスを継承しており Indexクラスと同様に _oninit() イベントハンドラメソッドで初期化処理を設定することができます Preloader.as を開き このタイミングで読み込み public var _loadedperfield:textfield; protected override function _oninit():void { // stage の初期設定 align = StageAlign.TOP_LEFT; quality = StageQuality.HIGH; scalemode = StageScaleMode.NO_SCALE; 状態を表示するためのテキストフィールドを作成します プリローダーを作成するには preloader. fla と preloader.as を編集します // TextField を作成 _loadedperfield = new TextField( _loadedperfield.x = 280; _loadedperfield.y = -100; _loadedperfield.width = 200; _loadedperfield.autosize = TextFieldAutoSize.CENTER; _loadedperfield.text = "Loading... 0%"; addchild( _loadedperfield 次にポイントとなるのは _oncastloadstart() イベントハンドラメソッドです このメソッドはプリローダーがメインのコンテンツファイルの読み込みを開始した瞬間に実行され このメソッドの実行中はシーンオブジェクトやキャストオブジェクトと同様に ) メソッドによるコマンド処理が実行可能で protected override function _oncastloadstart():void { // 実行したいコマンドを登録 // テキストフィールドを画面内に移動 new DoTweener( _loadedperfield, { y:200, time:1 ) す このイベントは 主にプログレスバー表示の際のアニメーショ ン処理などを行うものとして設計されています 今回は右のよう に設定します 128 Web Designing

ActionScript Library_Progression _oncastloadstart() イベントハンドラメソッドで登録したコマンドがすべて実行完了すると 実際に読み込み処理が監視されます 読み込みが開始されると _onprogress() イベントハンドラメソッドが呼ばれるようになります ただし このイベント protected override function _onprogress():void { // テキストフィールドの表示内容を 読み込み状態に応じて変化させる _loadedperfield.text = "Loading... " + Math.round( bytesloaded / bytestotal * 100 ) + "%"; 中には _oncastloadstart() イベントハンドラメソッドのように ) メソッドを使用することはできません これは _onprogress() メソッドが Event.ENTER_FRAME のように逐次呼ばれるイベントであるため 時間のかかる非同期処理を設定しても意味がないための仕様です 今回は右のようにテキストフィールドに表示している読み込み状態を更新していくことにしましょう 最後に _oncastloadcomplete() イベントハンドラメソッドを使用して 読み込み完了後の処理を設定します このイベントの際には _oncastloadstart() メソッドの時と同様に ) メソッドが使用可能になります 読み込まれた swf ファイルは _oncastloadcomplete() イベントハンドラメソッドが完了し 登録されたコマンドがすべて実行終了したタイ protected override function _oncastloadcomplete():void { // 実行したいコマンドを登録 // テキストフィールドを画面外に移動 new DoTweener( _loadedperfield, { y:500, time:1 ), // テキストフィールドを画面から削除 new RemoveChild( this, _loadedperfield ) ミングで画面に表示されます 11 プロジェクトを公開する 制作作業は完了したら あとは公開するだけです まず index.fla と preloader.fla の両方のファイルにおいて Progression プロジェクト パネルからパブリッシュを行います あとは プロ プロジェクト内の deploy フォルダの中身全部をサーバにアップロードします ジェクト内の deploy フォルダの中身一式をそのままサーバにアッ プロードすれば作業は完了です Progression プロジェクト パネルからパブリッシュ してください AS 2.0 以前のスタイルで開発したければ タイムラインスタイル column Progressionのクラススタイルは ActionScript 3.0をベースとした開発手法ですが まだ 3.0に移行していない人もいるでしょう そういう方のために用意されているのが タイムラインスタイル です タイムラインスタイルでは フレームアクションを基本として タイムライン アニメーションと組み合せながら ActionScript 2.0のような感覚で開発を行うことができます タイムラインスタイルによるスクリプティング手法の詳細については Progression 公式サイトのドキュメントを参照してください また cellfusion さんがタイムスタイルを使った素晴らしいサンプルサイトのデータを公開していますので こちらも参考にするといいでしょう Progression 公式サイトにあるタイムラインスタイル ガイド http://progression.jp/ja/doc/tutorial/timeline/ cellfusion さんによるタイムラインスタイルのサンプル http://trac.progression.jp/browser/examples/ cellfusion Web Designing 129