・頻出する表現

・・AS

 アクションスクリプトActionScript)。Adobe Flashにおけるプログラミング言語。

・・MC


↓MCの例(ビッタアクア)。

・・AA

 アスキーアート。このゲームではグラフィックに該当する。

↓AAの例(ビッタアクア)。

・・hitrect

 接触判定を取得するための矩形
 ここにASが記述されている場合が多い。便宜上、エフェクトなどに関しても、hitrectを用意し、そこにASを記述している。
 実際のゲーム画面においては、非表示にしている

hitrectの例(ビッタアクア)。

・・ゼロ

 操作キャラクターの名前。ASにおいては「zero」と表記している。

↓ゼロのMC。

・頻出する表現(AS)

・・「_root」

 Flashは、階層構造となっており、「_root」は、階層構造の最上位のメインタイムラインのことを指す。
 「_root.xxx」のように、グローバル変数を作成する際にも用いる

・・loadの処理

 「onClipEvent(load){}」の{}内には、「MCが出現した際に、1回のみ実行される処理」が記述される。

・・enterFrameの処理

 「onClipEvent(enterFrame){}」の{}内には、「毎フレーム実行される処理」が記述される。

・・カウント

 フレームや回数などを数えるための変数
 カウントが特定の値(「1」や「予め設定した、カウントの最大値」など)の場合に、特定の処理が行われるようにしている。
 この方法を採用している箇所は非常に多い

・・ループの終値

 地形・敵などのhitrectと、接触判定を取得する際の、ループの終値を指す。

 例えば、ゼロは、各種地形(壁、床、天井など)との接触判定を常に取得しているが、各種地形は、それぞれ20個(暫定)まで同時に出現させることができるため、「各種地形が全て最大の個数まで出現している」ことを前提としてループを実行すると、1フレーム毎に100回以上のループをすることになり、負荷が大きくなる
 実際は、「各種地形が全て最大の個数まで出現している」ような状況は、まず想定できないので、「現在出現している地形の番号の最大値」を「ループの終値」とすることで、回数を最低限にまで減らすことで、負荷を軽減できる
 敵・アイテムに関しても同様。

 「ループの終値(初期値、最大値)」の記述に関しては、以下の通りとなる。

ASのファイル:board_load_enemy_item_landform_identify.txt
 
//ループの終値(初期値)
for(i=1;i<=_root.i_landform_name_max;i++){_root["i_"+_root.landform_name_list[i-1]]=1}	//各種地形//ループの終値(最大値)
_root.i_landform_max=20	//各種地形
︙
 
 「ループの終値(初期値)」の記述に関しては、「地形の種類のリスト」を用いている。ボードの「・ステージのボードのAS」の「・・loadの処理」の「・・・各種の初期値の代入」を参照。

 「ループの終値」を用いた記述の例は、以下の通りとなる。

ASのファイル:zero_hit_floor.txt
 
		for(i=1;i<=_root.i_floor;i++){}
 
 例えば、「floor_5」まで出現している場合には、「_root.i_floor」は「5」となる。

・#include

 「#include」をサブルーチンとしても用いている。参考サイト(https://hakuhin.jp/as/develop.html#DEVELOP_02)。

 以下に、例を示す。

ASのファイル:mask.txt
 
	#include "zero_AS/keydown_1.txt"
 
・「#include "zero_AS/keydown_1.txt"」:この箇所に、「zero_AS」のフォルダ内の「keydown_1.txt」の内容が追加される。

・配列アクセス演算子

 配列アクセス演算子を用いることで、記述を簡略化している。参考サイト(http://www.fumiononaka.com/Drafts/AS3_OptimizingPerformance/AS3_OptimizingPerformance_01_02.html)。

 以下に、例を示す。

 変数や配列に、「変数名の一部」を代入しておく。

ASのファイル:mask.txt
 
	_root.zero_element_name_list=["none","thunder","fire","ice"]	//ゼロの属性の名前のリスト
 

 上記の変数と配列アクセス演算子を用いて、処理の記述をする。

ASのファイル:mask.txt
 
	for(i=1;i<=_root.zero_element_name_max;i++){	//エレメント残量
		_root["zero_element_remainder_"+_root.zero_element_name_list[i-1]]=_root.zero_initial_element_remainder
	}
 

 例えば、「i=1」の場合は、以下の通りとなる。

ASのファイル:なし
 
		_root["zero_element_remainder_"+_root.zero_element_name_list[1-1]]=_root.zero_initial_element_remainder
 
↓
 
		_root["zero_element_remainder_"+"none"]=_root.zero_initial_element_remainder
 
↓
 
		_root.zero_element_remainder_none=_root.zero_initial_element_remainder
 

 簡略化しない場合の記述は、以下の通りとなる。

ASのファイル:なし
 
		_root.zero_element_remainder_none=_root.zero_initial_element_remainder
		_root.zero_element_remainder_thunder=_root.zero_initial_element_remainder
		_root.zero_element_remainder_fire=_root.zero_initial_element_remainder
		_root.zero_element_remainder_ice=_root.zero_initial_element_remainder
 

・参照先を変数に保存

 参照の際の記述を簡略化するため、(MCの)参照先を変数に保存している場合がある

 以下に、例を示す。

ASのファイル:hit_floor.txt
 
	landform=_root.board["floor_"+i]	//参照先を変数に保存
 

 このような処理をすることで、以降は、「_root.board["floor_"+i]」ではなく、「landform」という簡潔な変数で記述を行うことができる。

最終更新:2020年12月19日 11:15