SlideShare a Scribd company logo
1 of 5
Download to read offline
モバイル用Flash(FlashLite1.1)

      ActionScript1.0
        実装方法

    設置系Flashの構造
■ActionScript1.0での開発
現在のPC向けのFlashの開発ではAS3.0が使用されますが、FlashLite1.1ではAS1.0での
開発が必要になります。

■AS1.0の記述と実行
特定のタイムライン上のキーフレームに記述して、そのフレームが再生されると処
理が実行されます。

プログラム実行の基本となるループ処理の記述方法


第1フレームに play();
記述されたフレームに再生ヘッドが来ると、次のフレームに再生ヘッドが移ります。
再生ヘッドを動かすという命令になります。

第2フレームにprevFrame();
1つ前のフレームに再生ヘッドを戻す命令になります。戻した後に再生ヘッドが止
まる命令なので、前述のplay();でもう一度動かすという処理になっています。

これで1と2のフレームで再生を繰り返すようになります。
さらに第1フレームに実行したい処理を記述します。こうすると毎フレーム繰り返
す処理を作ることが出来ます。Flashゲームだとこの中で当たり判定の処理などを行
います。
■プログラムの処理順
親となるMCから順に実行されます。
同層にあるMCでは深度の低い方から実行されます。

■配列が使えない代わりにeval()を使います。
eval(“name” add n) 文字列の連結にはaddを使用します。
文字列を指定して変数を動的に扱うことが出来るので、これを利用して連番の変数
を作成するようにします。

■1フレーム内の処理行数が多くなると処理落ち
for文を500回ループなどすると勝手に次のフレームに再生ヘッドが移動したりしま
す。特にエラーなどは出ないので、知らないとハマる原因になります。どうしても
その処理が必要な場合にはfor分のループ回数を区切ってフレーム分けして処理する
ような実装にします。

■変数はすべてグローバル パスの記述方法ドットシンタックスとスラッシュシン
タックス
_rootにあるmc2内のmc3から_rootにあるmc1の変数val1を参照する場合
相対パス _parent._parent.mc1.val1 ../../mc1:val1
絶対パス _root.mc1.val1           /mc1/:val1

■functionは無い代わりにcall()を使います。
フレームラベルを付けたフレームにその処理を書いておくと、call(“ラベル名”)で実
行することが出来ます。戻り値や引数はありませんので、グローバル変数を適宜使
■キー操作の実装
ボタンは画面内に配置されている必要があるので透明なボタンを作成して利用しま
す。
ボタンアクションに次のような記述をします。         on( keyPress“5” )       5キー
on( keyPress “<Enter>” ) 決定キー {
{                                   call( “fnc:pE” );
      call( “fnc:pE” );       }
}

キーが押された時の処理は常にcallで実装するのが実用的だと思います。
0〜9、決定キー、上下キーが使用可能です。
ソフトキーや他のキーは取得出来ません。

■上下キー
上か下かの区別は無く、ボタンのフォーカスを動かすことしか出来ません。
なのでボタンを3つ並べてフォーカス移動を使ってどちらが押されたかを判別しま
す。

■スクリプトを書ける場所
ボタンアクション内ではon()ハンドラ内にその処理内容を記述します。
タイムライン上ではすべてのキーフレームに記述可能ですが、1つのMC内に1つの
AS用
レイヤーを作成し、そこにまとめて書くのがベターです。
FlashLite1.1ではムービークリップアクションは使えません。
■バイナリデータ置換による変数渡し
まずFlashLiteでは起動時にURL変数を受け取ることが出来ません。起動後に通信して
変数を受け取ることは可能ですが、通信するにはキー操作が必要なため手間がかか
ります。
なのでswfファイル内の特定の文字列を置換して変数の内容を置き換えるという手
法を使います。
現状は先にswf内に程良い長さの文字列を設定した変数を用意していますが、PHP側
で任意の変数を追加してファイルサイズの部分を書き換えるという方法で任意の長
さを持った変数を追加することも可能です。

■設置Flashの構造について
turbineでは_rootに対してMCを追加していくということを行っています。
ここで必要になるのがMC名の設定と深度の設定です。
MC名は設定しなければ、instance**という名前になり、深度は設定しなければ順々
に重なっていくようです。
その他にユーザー操作や表示にたいして判定に必要な変数が埋め込まれている状態
になります。
基本は/param:floor_mapのマップデータにたいして置ける場所を検索して移動する
という処理を行ってから、設置するの決定キーが押下されるとgetURL()で
/param:target_urlに対して座標の情報を付けて遷移するようになっています。
撤去の場合には、あらかじめ埋め込まれているその店内にあるアイテムのMC
すべてに対してフォーカス処理を行い、選択されたアイテムのIDを送るようになっ
ています。

More Related Content

What's hot

超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストール超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストールShin Tanigawa
 
symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会tsukimiya
 
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711エンジニア勉強会 エスキュービズム
 
第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!kunst1080
 
ルネサスエレクトロニクスタッチソリューション起動方法
ルネサスエレクトロニクスタッチソリューション起動方法ルネサスエレクトロニクスタッチソリューション起動方法
ルネサスエレクトロニクスタッチソリューション起動方法Tsuyoshi Horigome
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 sandai
 
超簡単!Apache SubverisonをWindows Serverにインストール
超簡単!Apache SubverisonをWindows Serverにインストール超簡単!Apache SubverisonをWindows Serverにインストール
超簡単!Apache SubverisonをWindows ServerにインストールShin Tanigawa
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門sandai
 
超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストールShin Tanigawa
 
specific kill
specific killspecific kill
specific killlnial
 
タスクマネージャーの上級版!Process Explorerの紹介
タスクマネージャーの上級版!Process Explorerの紹介タスクマネージャーの上級版!Process Explorerの紹介
タスクマネージャーの上級版!Process Explorerの紹介Shin Tanigawa
 
最低限の開発環境を整えるには
最低限の開発環境を整えるには最低限の開発環境を整えるには
最低限の開発環境を整えるにはvi-iv
 

What's hot (12)

超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストール超簡単!Apache TomcatをWindowsにインストール
超簡単!Apache TomcatをWindowsにインストール
 
symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会symfony1.2最新動向 - 第二回symfony勉強会
symfony1.2最新動向 - 第二回symfony勉強会
 
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
事故らないためのUnix(linux)オペレーション エスキュービズム勉強会0711
 
第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!
 
ルネサスエレクトロニクスタッチソリューション起動方法
ルネサスエレクトロニクスタッチソリューション起動方法ルネサスエレクトロニクスタッチソリューション起動方法
ルネサスエレクトロニクスタッチソリューション起動方法
 
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門 【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
 
超簡単!Apache SubverisonをWindows Serverにインストール
超簡単!Apache SubverisonをWindows Serverにインストール超簡単!Apache SubverisonをWindows Serverにインストール
超簡単!Apache SubverisonをWindows Serverにインストール
 
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
 
超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール
 
specific kill
specific killspecific kill
specific kill
 
タスクマネージャーの上級版!Process Explorerの紹介
タスクマネージャーの上級版!Process Explorerの紹介タスクマネージャーの上級版!Process Explorerの紹介
タスクマネージャーの上級版!Process Explorerの紹介
 
最低限の開発環境を整えるには
最低限の開発環境を整えるには最低限の開発環境を整えるには
最低限の開発環境を整えるには
 

Viewers also liked

FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話Toshiharu Shirai
 
スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善dena_study
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphonedena_study
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術dena_study
 
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)dena_study
 
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門dena_study
 
Unity × graphics × effects
Unity × graphics × effectsUnity × graphics × effects
Unity × graphics × effectsHironori Sugino
 
ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装dena_study
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてdena_study
 
FFRK cocos2d xレイヤーの最適化
FFRK cocos2d xレイヤーの最適化FFRK cocos2d xレイヤーの最適化
FFRK cocos2d xレイヤーの最適化dena_study
 
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発dena_study
 
Game BaaS Implemented in Ruby
Game BaaS Implemented in RubyGame BaaS Implemented in Ruby
Game BaaS Implemented in Rubydena_study
 
制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)dena_study
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方dena_study
 
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。DeNA_Creators
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術dena_study
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方dena_study
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたMori Tetsuya
 

Viewers also liked (18)

FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
FINAL FANTASY
 Record Keeper アニメーション制作の濃ゆい話
 
スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善スマホネイティブゲーム 開発効率改善
スマホネイティブゲーム 開発効率改善
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
 
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
DeNA の新しいネイティブ開発(パズル戦隊デナレンジャー)
 
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
ガールアックス マルチプレイのリアルタイム通信ゲーム開発入門
 
Unity × graphics × effects
Unity × graphics × effectsUnity × graphics × effects
Unity × graphics × effects
 
ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装ガールアックス:リアルタイム通信処理の効率的な実装
ガールアックス:リアルタイム通信処理の効率的な実装
 
FINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについてFINAL FANTASY
 Record Keeper 演出データについて
FINAL FANTASY
 Record Keeper 演出データについて
 
FFRK cocos2d xレイヤーの最適化
FFRK cocos2d xレイヤーの最適化FFRK cocos2d xレイヤーの最適化
FFRK cocos2d xレイヤーの最適化
 
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発
 
Game BaaS Implemented in Ruby
Game BaaS Implemented in RubyGame BaaS Implemented in Ruby
Game BaaS Implemented in Ruby
 
制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)制作を支えたツール達 (パズル戦隊デナレンジャー)
制作を支えたツール達 (パズル戦隊デナレンジャー)
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
 
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
エフェクト、アニメーション、演出のデータ作るの大変じゃないですか? DeNAではこうしてます。
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみた
 

Flash liteエンジニア向け