%ver
3.7
%date
2022/07/20
%group
入出力制御命令

%type
ユーザー拡張命令

%note
dotfw.asをインクルードすること。

%author
onitama

%dll
HSP3Dish

%port
Win


%index
df_reset
ドットフレームワークの初期化

%inst
ドットフレームワークを初期化して使用可能な状態にします。
あらかじめ、df_config命令で必要な設定を行っておく必要があります。
df_reset命令は、画面の初期化を行いたい場合に、何度でも使用することができます。
画面の初期化を行うことで、スプライト、エフェクト等の情報がすべて初期状態に戻ります。


%href
df_config


%index
df_screen
ドットフレームワークの解像度設定
%prm
p1,p2,p3,p4
p1(320) : 画面のXサイズ
p2(224) : 画面のYサイズ
p3(300) : ズーム値(%)
p4(60) : フレームレート(fps)
%inst
ドットフレームワークの解像度を設定します。
実際の画面サイズ更新は、df_reset命令が実行された時に反映されます。
p1,p2でフレームワークが動作する際の画面サイズ(解像度)を設定します。
さらに、p3パラメータでウインドウに表示する際の倍率(ズーム値)を指定することができます。ズーム値は、100(%)を等倍として任意の倍率でウインドウ内に表示することができます。
たとえば、画面サイズが(320×240)でズーム値200(%)を指定した際には、ウインドウは2倍の(640×480)となります。
p4パラメータでフレームレート(fps)を設定できます。これは画面を更新する速度の基準となります。デフォルト値は60で、これは1秒間に60回画面が更新されることを意味します。
これらの設定は、df_config命令によって文字列で同様の設定をすることも可能です。
%href
df_reset
df_zoom
df_config


%index
df_zoom
ドットフレームワークのズーム設定
%prm
p1,p2
p1(300) : ズーム値(%)
p2(100) : アスペクト比(%)
%inst
ドットフレームワークの画面ズーム値とアスペクト比を設定します。
実際の画面サイズ更新は、df_reset命令が実行された時に反映されます。
p1パラメータでウインドウに表示する際の倍率(ズーム値)を指定することができます。ズーム値は、100(%)を等倍として任意の倍率でウインドウ内に表示することができます。
たとえば、画面サイズが(320×240)でズーム値200(%)を指定した際には、ウインドウは2倍の(640×480)となります。
p2パラメータで1ドットの縦横比(X方向に対してのY方向の割合%)を設定します。100(%)の場合は、正方形のドットとなります。
200(%)を指定した場合は、横に対して縦が倍のサイズとなる縦長のドットとして表現されます。
これらの設定は、df_config命令によって文字列で同様の設定をすることも可能です。
%href
df_reset
df_screen
df_config



%index
df_config
タグ名によるドットフレームワークの設定
%prm
"tag..."
"tag..." : 設定を行うためのタグ文字列
%inst
ドットフレームワークの設定をタグ文字列により行います。
スペースで区切られたタグ文字列を指定することで、必要な設定をすべてまとめて行うことができます。
タグ文字列には、以下の内容を指定することができます。
^p
	タグ文字列    内容
	---------------------------------------------------------------
	  X???        ???=画面横サイズを設定する
	  Y???        ???=画面縦サイズを設定する
	  Z???        ???=ドットズーム値(%)を設定する
	  A???        ???=ドットアスペクト比(%)を設定する
	  F???        ???=フレームレート(fps)を設定する
	  K???        ???=連射インターバルを設定する
	  star        背景に星を表示する
	  afont       8dotフォントタイプAを選択
	  bfont       8dotフォントタイプBを選択
	  cfont       8dotフォントタイプCを選択
^p
たとえば、"X320 Y240 Z300"という文字列は、(320×240)の300%(縦横3倍に拡大)した画面で表示設定となります。タグ文字列を記述する順番は問いません。
画面解像度とアスペクト比は、プリセットとして代表的なレトロゲーム機、パソコンなどの仕様をタグで指定することができます。(あくまでも代表的な解像度を再現するだけで、表示方法や色数などを再現するものではありません)
^p
	タグ文字列    内容
	---------------------------------------------------------------
	  fc          ファミコン(256×224)
	  sfc         スーパーファミコン(256×224)
	  pce         PCエンジン(320×224)
	  md          メガドライブ(320×224)
	  gb          ゲームボーイ(160×144)
	  gba         ゲームボーイアドバンス(240×160)
	  nds         ニンテンドーDS(256×192)
	  3ds         ニンテンドー3DS(320×240)
	  n64         ニンテンドー64(320×224)
	  ngc         ゲームキューブ(640×480)
	  ss          セガサターン(320×224)
	  dc          ドリームキャスト(640×480)
	  ps1         プレイステーション1(320×240)
	  ps2         プレイステーション2(640×480)
	  psp         PSP(480×272)
	  vita        PSP Vita(960×544)
	  msx         MSX(256×192)
	  msx2        MSX2(512×424)
	  appleii     AppleII(280×192)
	  c64         Commodore64(320×200)
	  pc60        NEC PC-6001(256×192)
	  pc80        NEC PC-8001(320×200)
	  pc88        NEC PC-8801(640×200)
	  pc98        NEC PC-9801(640×400)
	  arcade      80年代の標準的な縦画面アーケード(224×320)
	  neogeo      ネオジオ(320×224)
^p
たとえば、"pc80 Z300"という文字列は、(320×200)の300%(縦横3倍に拡大)した画面で表示設定となります。
タグ文字列は大文字小文字が区別されますので注意してください、
実際に設定が反映されるのは、df_reset命令が実行された時になります。
また、画面の解像度などを独自に設定するためのdf_screen命令、df_zoom命令も用意されています。
%href
df_reset
df_screen
df_zoom


%index
df_star
星表示パラメーター設定
%prm
p1,p2,p3,p4
p1(0)   : 星表示スイッチ(-1=非表示/0=停止/1=流れる)
p2(100) : X方向ズーム値(%)
p3(100) : Y方向ズーム値(%)
p4(0)   : 星回転スイッチ(0=横/1=縦)
%inst
背景に表示する星に関するパラメータを設定します。
星表示は、df_config命令で"star"のタグを指定することで有効になります。
df_star命令は、星表示が有効になった後でパラメータを変更する際に指定します。
星は、256×256ドットの絵として生成されます。これを表示する際のズーム値(倍率)や星を流す方向(回転スイッチ)などを制御して画面に合うよう調整することができます。
%href
df_config



%index
df_mes
専用フォントによるテキスト表示
%prm
"message",p2,p3,p4
"message" : 表示する文字列(英文字のみ)
p2(0)     : X座標
p3(0)     : Y座標
p4(0)     : 表示色(0〜15)
%inst
専用フォントによる文字列表示を行います。
ドットフレームワークでは、あらかじめ用意された8×8ドットの英文字フォントを利用することができます。これは3種類の中から選ぶことができ、df_config命令によって選択できます。
画面の最前面にテキスト表示用のBGレイヤーがあり、8×8ドット単位のマス目に任意の文字を表示することができます。
df_mes命令は、英文字によるテキストを(p2,p3)の座標から表示します。
表示する文字は、"message"パラメータで指定します。必ず文字列型で英文字のみを使用してください。
p4パラメータにより、16色の中から選択された色で表示することができます。
1度表示した文字は、テキストレイヤーに残り消去するまで表示され続けます。
1文字ずつゆっくり表示を行うdf_addmes命令や、システムフォントによる任意の文字列表示を行うdf_addfmes命令も用意されています。
%href
df_config
df_addmes
df_addfmes
df_vpoke



%index
df_vpoke
専用フォントテキスト画面にコード書き込み
%prm
p1,p2,p3,p4
p1(0) : X座標
p2(0) : Y座標
p3(0) : 文字コード
p4(1) : 繰り返し回数
%inst
専用フォントで任意の文字コードによる表示を行います。
ドットフレームワークでは、あらかじめ用意された8×8ドットの英文字フォントを利用することができます。これは3種類の中から選ぶことができ、df_config命令によって選択できます。
画面の最前面にテキスト表示用のBGレイヤーがあり、8×8ドット単位のマス目に任意の文字を表示することができます。
df_vpoke命令は、(p1,p2)の座標にp3パラメータで指定された文字コードを書き込みます。
文字コードは、0〜255の値で英文字の並びはアスキーコードと同一になっています。
また、256を加算するごとにカラーコードが1ずつ増加します。
_p4パラメータで繰り返し回数を指定できます。これにより同一のコードを右のマス目にも連続して書き込みます。
_p4パラメータを省略した場合は、1回のみ書き込みを行います。
1度表示した文字は、テキストレイヤーに残り消去するまで表示され続けます。
^
専用フォントによる文字列表示は、文字列から表示を行うdf_mes命令や、1文字ずつゆっくり表示を行うdf_addmes命令も用意されています。
%href
df_config
df_mes
df_addmes



%index
df_vpeek
専用フォントテキスト画面のコード読み出し
%prm
(p1,p2)
p1(0) : X座標
p2(0) : Y座標
%inst
df_mes、df_vpoke命令などで書き込んだ専用フォントによるテキスト画面の内容を返します。
(p1,p2)で指定した座標に書き込まれている文字コードを整数値として返します。
実際の文字コードは0〜7ビットで示しています。「読み出した値&255」で文字コードのみを取り出すことができます。
8〜11ビットはカラーコードを示しています。カラーコードは、「読み出した値>>8」で取り出すことができます。
%href
df_vpoke
df_mes



%index
df_vpoke
専用フォントテキスト画面のスクロール
%prm
p1,p2,p3,p4
p1(0) : 移動する方向(DIR_UP,DIR_DOWN,DIR_LEFT,DIR_RIGHTのいずれか)
%inst
df_mes、df_vpoke命令などで書き込んだ専用フォントによるテキスト画面を任意の方向にスクロール(シフト)します。
上下左右の方向にシフトできますが、あくまでも8×8ドットのマス目単位での処理になります。
p1パラメーターで移動する方向を指定します。値は以下の内容になります。
^p
	マクロ      方向
	---------------------------------------------------------------
	DIR_UP      上
	DIR_DOWN    下
	DIR_LEFT    左
	DIR_RIGHT   右
^p
p1の指定を省略したばあいは、DIR_DOWN(下)方向となります。
%href
df_vpoke
df_mes



%index
df_update
ドットフレームワークの画面更新
%prm
p1
p1(0) : 画面更新オプション値(UPDATE_*)
%inst
画面更新を行います。
ドットフレームワークでは、df_update命令を入れることで、あらかじめ決められたフレームレートで画面の更新を自動で行います。
HSP3Dishで画面更新の際に使用していたredraw命令やawait命令は、ドットフレームワーク内部で自動で行うので使用する必要はありません。
画面更新を行うことで、スプライトやエフェクトの描画、管理されているスプライトの制御、フレームレート維持のための時間待ちをすべて行います。
p1パラメータで画面更新オプション値を指定することができます。以下のマクロを指定可能です。
^p
	マクロ          内容
	---------------------------------------------------------------
	UPDATE_NOWAIT   await命令による時間待ちを行わない
	UPDATE_PAUSE    移動を停止(ポーズ)する
^p
ドットフレームワークのメインループでは、必ずdf_update命令により画面更新を行ってください。
%href
df_reset



%index
df_addeff
画像エフェクトを追加
%prm
p1,p2,p3,p4
p1(0) : X座標
p2(0) : Y座標
p3(0) : 分割画像No.
p4(0) : 画像素材を持つウインドゥID
%inst
画像エフェクトを追加します。
ドットフレームワークでは、通常のスプライトとは別にエフェクトと呼ばれる表示の仕組みが用意されています。
これはゲーム中のキャラクターとは関係なく画面に表示される効果などで使用することができます。
(p1,p2)でエフェクトを表示するX,Y座標を指定します。
p3,p4パラメータは、表示される画像を指定します。これは、celput命令で使用するパラメータと同様です。(標準スプライトで使用するキャラクタNo.ではないので注意してください)
p4パラメータを省略した場合は、珠音16dot素材が読み込まれているID(DOTFW_TAMAID)が自動的に指定されます。
画像エフェクトにアニメーションを適用したい場合は、直後にdf_effanim命令を使用して設定を行ってください。
エフェクトを追加した場合は、初期化されるまで画面に表示され続けます。
一定時間だけ表示する場合は、直後にdf_efftimer命令で時間を指定してください。
%href
celput
df_effanim
df_efftimer


%index
df_addmes
専用フォントメッセージエフェクトを追加
%prm
"message",p1,p2,p3,p4
"message" : 表示する文字列(英文字のみ)
p1(0)     : X座標
p2(0)     : Y座標
p3(0)     : 文字色(0〜15)
p4(0)     : 文字表示速度
%inst
専用フォントメッセージエフェクトを追加します。
ドットフレームワークでは、通常のスプライトとは別にエフェクトと呼ばれる表示の仕組みが用意されています。
これはゲーム中のキャラクターとは関係なく画面に表示される効果などで使用することができます。
専用フォントメッセージエフェクトは、(p2,p3)の座標から1文字ずつ画面に文字を表示することができます。
表示する文字は、"message"パラメータで指定します。必ず文字列型で英文字のみを使用してください。
p3パラメータにより、16色の中から選択された色で表示することができます。
1度表示した文字は、テキストレイヤーに残り消去するまで表示され続けます。
p4パラメータで、文字表示速度を指定します。
たとえば、「df_addmes "HELLO!".0,0,0,4」と指定した場合は、4フレームごとに1文字ずつ"HELLO!"という文字が表示されます。
文字表示速度に0を指定した場合は、すべての文字を1フレーム目に表示します。これは、df_mes命令とほぼ同じ機能になります。
日本語を含むシステムフォントを使った文字表示が必要な場合は、df_addfmes命令を使用してください。
%href
df_addfmes
df_mes


%index
df_addfmes
メッセージ用エフェクトを追加
%prm
"message",p1,p2,p3,p4
"message" : 表示する文字列(英文字のみ)
p1(0)     : X座標
p2(0)     : Y座標
p3(0)     : 文字色(0〜15)
p4(0)     : 文字表示速度
%inst
システムフォントによるメッセージエフェクトを追加します。
ドットフレームワークでは、通常のスプライトとは別にエフェクトと呼ばれる表示の仕組みが用意されています。
これはゲーム中のキャラクターとは関係なく画面に表示される効果などで使用することができます。
メッセージエフェクトは、(p2,p3)の座標から1文字ずつ画面に文字を表示することができます。
表示する文字は、"message"パラメータで指定します。必ず文字列型で指定してください。
p3パラメータにより、表示する色を指定することができます。これは、rgbcolor命令で使用するRGB24bitカラーコードになります。
p4パラメータで、文字表示速度を指定します。
たとえば、「df_addfmes "こんにちは".0,0,$ffffff,4」と指定した場合は、4フレームごとに1文字ずつ"こんにちは"という文字が表示されます。
文字表示速度に0を指定した場合は、すべての文字を1フレーム目に表示します。
デフォルトで10秒間画面に表示されます。それ以外の表示時間を設定する場合は、直後にdf_efftimer命令で時間を指定してください。
専用フォントを使った文字表示が必要な場合は、df_addmes命令を使用してください。
%href
df_addmes
df_efftimer


%index
df_effanim
画像エフェクトのアニメーションを設定
%prm
p1,p2
p1(0) : 1パターンの表示フレーム
p2(0) : パターン数(4,8,16)
%inst
df_addeff命令で追加した画像エフェクトのアニメーションを設定します。
直前のdf_addeff命令で追加した画像エフェクトに対して設定されます。
p1パラメータで指定したフレームを表示した後に、df_addeff命令で指定した分割画像No.が1つ先のものに変化します。
アニメーションはp2パラメータで指定したパターン数(4,8,16)だけ変化して、その後繰り返されます。
分割画像No.が連続した状態でないとアニメーションできませんので注意してください。
%href
df_addeff


%index
df_effmove
エフェクトの移動量を設定
%prm
p1,p2
p1(0) : X移動量(%)
p2(0) : Y移動量(%)
%inst
エフェクトの移動量を設定します。
これによりエフェクトの表示座標をフレームごとに移動させることができます。
直前にdf_addeff命令などで追加したエフェクトに対して設定されます。
p1,p2パラメータで移動量を指定します。100(%)の場合は、1フレームごとに1ドット移動します。50(%)の場合は、2フレームで1ドットの移動量となります。
%href
df_addeff
df_efftimer


%index
df_efftimer
エフェクトのタイマーを設定
%prm
p1
p1(0) : エフェクトが消去されるまでのフレーム数
%inst
エフェクトのタイマーを設定します。
これによりエフェクトを一定時間だけ表示して、自動的に消すことができます。
直前にdf_addeff命令などで追加したエフェクトに対して設定されます。
p1パラメータでエフェクトが消去されるまでのフレーム数を指定します。
100を指定した場合は、100フレーム後にエフェクトが消去されることになります。
%href
df_addeff
df_addfmes


%index
df_addbom
爆発エフェクトを追加する
%prm
p1,p2,p3,p4
p1(0) : X座標
p2(0) : Y座標
p3(0) : 爆発レベル(0〜3)
p4(0) : アニメーション速度
%inst
爆発エフェクトを追加します。
ドットフレームワークでは、通常のスプライトとは別にエフェクトと呼ばれる表示の仕組みが用意されています。
これはゲーム中のキャラクターとは関係なく画面に表示される効果などで使用することができます。
爆発エフェクトは、(p1,p2)の座標から爆発する効果を表示することができます。
p3パラメータで爆発レベル(0〜3)を指定します。値の意味は以下の通りです。
^p
	爆発レベル    内容
	---------------------------------------------------------------
	    0         小さな爆発
	    1         普通の爆発
	    2         やや大きな爆発
	    3         大爆発
^p
爆発エフェクトは爆発の表示後に自動的に消去されます。
%href
df_addeff
df_addfmes


%index
df_addfire
花火エフェクトを追加する
%prm
p1,p2,p3,p4,p5,p6
p1(0)   : X座標
p2(0)   : Y座標
p3(0)   : 花火色(0〜7)
p4(0)   : レベル(0〜1)
p5(100) : 速度%
p6(50)  : 表示フレーム
%inst
花火エフェクトを追加します。
ドットフレームワークでは、通常のスプライトとは別にエフェクトと呼ばれる表示の仕組みが用意されています。
これはゲーム中のキャラクターとは関係なく画面に表示される効果などで使用することができます。
花火エフェクトは、(p1,p2)の座標から花火のような効果を表示することができます。
p3パラメータで花火色(0〜7)を指定します。
p4パラメータで花火のレベル(0〜1)を指定します。
p5パラメータで花火が飛ぶ速度を指定します。100(%)の場合は1フレームに1ドット相当の速度で飛びます。
p6パラメータで花火の表示フレーム数を指定します。これは、花火エフェクト表示後に自動的に消えるまでのフレーム数になります。
p6パラメータを省略した場合は、50フレームが適用されます。
%href
df_addeff
df_addfmes




%index
df_getplayer
ドットフレームワークのプレイヤー座標取得
%prm
var1,var2
var1 : X座標の値が代入される変数名
var2 : Y座標の値が代入される変数名
%inst
ドットフレームワークのプレイヤー座標(スプライト座標)を取得します。
var1,var2で指定された変数にX,Y座標が代入されます。
%href
df_getaxis


%index
df_getaxis
ドットフレームワークのカレントスプライト座標取得
%prm
var1,var2
var1 : X座標の値が代入される変数名
var2 : Y座標の値が代入される変数名
%inst
ドットフレームワークのカレントスプライト座標を取得します。
var1,var2で指定された変数にX,Y座標が代入されます。
カレントスプライト座標は、弾の発射や敵の移動など特定のタイミングで対象となるものです。詳しくは、df_paction、df_eaction命令などを参照してください。
プレイヤーの座標はdf_getplayer命令で取得することができます。
%href
df_getplayer
df_paction
df_eaction


%index
df_addplayer
ドットフレームワークのプレイヤー追加
%prm
p1,p2,p3,p4
p1(0) : X座標
p2(0) : Y座標
p3(0) : キャラクタNo.
p4(0) : option値
%inst
ドットフレームワークが制御するプレイヤーのキャラクターを追加します。
(p1,p2)でプレイヤーの初期座標を指定します。指定を省略した場合は、画面中央になります。
p3パラメータは標準スプライトで使用するキャラクタNo.となります。
ドットフレームワーク内で定義されているキャラクターは、「CHR_」で始まるマクロで定義されています。詳しくは、ドットフレームワークのマニュアルを参照してください。
また、標準スプライトのes_pat、es_patanim命令で独自に定義したキャラクタNo.を指定することもできます。
キャラクタNo.の指定を省略した場合は、珠音(CHR_TAMANE)が使用されます。
p4パラメータでoption値を指定することができます。これは、スプライトのoptionパラメータとして保存されユーザーが使うことができます。
追加されたプレイヤーの座標はdf_getplayer命令で取得することができます。
^
プレイヤーのキャラクターを追加すると、ユーザーがコントローラーで操作することができるようになります。
また、アクションのボタンを押すとミサイルが発射されるように設定されています。
細かい動作を追加したい場合は、制御サブルーチンを追加して独自の処理を記述することができます。詳しくは、df_paction命令を参照してください。
プレイヤーの動作設定は、df_pmode命令で行うことができます。
また、df_parea命令により移動範囲を限定することが可能です。
%href
df_getplayer
df_addpmis
df_parea
df_pmode
df_paction
es_pat
es_patanim


%index
df_parea
プレイヤーの移動範囲を設定
%prm
p1,p2,p3,p4
p1(0) : 左上のX座標
p2(0) : 左上のY座標
p3(0) : 右下のX座標
p4(0) : 右下のY座標
%inst
df_addplayer命令で追加したプレイヤーの移動範囲を設定します。
左上の(X,Y)、右下の(X,Y)を指定することで移動範囲だけを移動できるようになります。
%href
df_addplayer


%index
df_pmode
プレイヤーの動作モードを設定
%prm
p1,p2,p3
p1(0) : 動作モード
p2(0) : X座標の移動速度
p3(0) : Y座標の移動速度
%inst
df_addplayer命令で追加したプレイヤーの動作モードを設定します。
p1パラメータで動作モードを設定します。
動作モードは、0の場合にプレイヤーの操作が有効、-1の場合は無効になります。
p2,p3パラメータでX,Y方向の移動速度を指定します。1を指定した場合は、1フレームに1ドットの単位で移動することになります。
0を指定するとその方向には移動しなくなります。
%href
df_addplayer


%index
df_addpmis
ドットフレームワークのプレイヤーミサイル追加
%prm
p1,p2,p3,p4,p5,p6
p1(0) : X座標
p2(0) : Y座標
p3(0) : ミサイル発射方向(0〜255)
p4(100) : ミサイル移動速度(%)
p5(0) : キャラクタNo.
p6(0) : option値
%inst
ドットフレームワークが制御するプレイヤーのミサイル(弾)を追加します。
プレイヤーのミサイルは、敵を破壊することができるスプライトになります。
(p1,p2)でミサイルの初期座標を指定します。
p3パラメータでミサイル発射の方向を指定します。これは0から255までの値で方向を指定します。以下のマクロを指定することも可能です。
^p
	マクロ名   値       方向
	---------------------------
	DIR_UP     128      上
	DIR_DOWN   0        下
	DIR_LEFT   192      左
	DIR_RIGHT  64       右
^p
p4パラメータでミサイル移動速度を指定します。100(%)を指定した場合は、1フレームに1ドットの速さで移動します。
p5パラメータは標準スプライトで使用するキャラクタNo.となります。
ドットフレームワーク内で定義されているキャラクターは、「CHR_」で始まるマクロで定義されています。詳しくは、ドットフレームワークのマニュアルを参照してください。
また、標準スプライトのes_pat、es_patanim命令で独自に定義したキャラクタNo.を指定することもできます。
キャラクタNo.の指定を省略した場合は、標準のミサイル(CHR_MISSILE)が使用されます。
p6パラメータでoption値を指定することができます。これは、スプライトのoptionパラメータとして保存されユーザーが使うことができます。
追加されたミサイルのスプライトNo.は、変数_dotfw_curspで参照することができます。
ミサイルは指定された方向に移動を続けて画面外に出た時点で消去されます。
%href
df_addplayer


%index
df_paction
プレイヤー制御サブルーチンの設定
%prm
*label,p1
*label : 制御サブルーチンのラベル
p1(0)  : プレイヤーアクション種別
%inst
df_addplayer命令で追加したプレイヤーの制御サブルーチンを設定します。
p1パラメータでプレイヤーアクション種別を指定します。以下のマクロから種別を選ぶことができます。
^p
	マクロ名              種別
	----------------------------------------------
	PACTION_CONTROL       毎フレームごとの動作
	PACTION_KEY           コントロール(操作)時(*)
	PACTION_BUTTON        ボタン1を押した時(*)
	PACTION_BUTTON2       ボタン2を押した時
	PACTION_BUTTON3       ボタン3を押した時
	PACTION_MISS          ミス時(やられた時)(*)
	PACTION_ITEM          アイテム取得時

	(*)のある種別はデフォルトで標準的な動作が設定されています
^p
制御サブルーチンは、標準的なプレイヤーの動作を置き換えるために使用します。
プレイヤーアクション種別が示す状況になった時に、指定された制御サブルーチンが呼び出されます。
制御サブルーチンの中では、状況に応じてスプライトやゲームの進行処理を進めることができます。
たとえば、プレイヤーを追加した際に自由に動かす操作が設定されていますが、PACTION_KEYの種別を指定して、制御サブルーチンを置き換えることで独自の移動プログラムに変更することができます。
ボタンを押してミサイルが発射される仕組みは、PACTION_BUTTONの種別で動作するプログラムが行っています。
追加で、PACTION_BUTTON2という種別の制御サブルーチンを設定することで、ボタン2を押した時に異なるミサイルを発射させるなどの動作を追加することができます。
制御サブルーチンを追加・変更することで、独自の動作をプレイヤーに加えることができます。
詳しくは、ドットフレームワークのマニュアルを参照してください。
%href
df_addplayer
df_getplayer
df_addpmis


%index
df_celload
追加の画像素材を読み込む
%prm
var,"filename"
var        : ウインドウIDが代入される変数名
"filename" : 画像ファイル名
%inst
ドットフレームワーク上で使用する画像を追加します。
"filename"で指定した画像ファイルを読み込み、使用可能となったウインドウIDをvarで指定した変数に代入します。
画像ファイルとして読み込み可能なフォーマットは、celload命令と同様です。
動作としては、celload命令に近いですが、df_celloadは画像リソースマネージャーにより、重複した画像を読み込まないように管理されています。
使用可能になったウインドウIDは、スプライトや背景として使用することが可能です。
%href
celload
df_setbgpic


%index
df_setbgpic
背景画像を設定する
%prm
p1,p2
p1(0) : BG番号(0〜)
p2(0) : 背景画像があるウインドウID
%inst
ドットフレームワーク上で背景として表示する画像を設定します。
p1パラメーターで0から始まるBGの番号を指定します。BG番号は複数の画像を背景として表示する場合の識別に使用します。
p2パラメーターで背景画像があるウインドウIDを指定します。
あらかじめ、df_celload命令などで画像ファイルを読み込んでおく必要があります。
背景が設定された後は、df_bgscrollでスクロールを行うことができます。
%href
df_celload
df_bgscroll


%index
df_setbgmap
背景マップを設定する
%prm
p1,"filename"
p1(0)      : BG番号(0〜)
"filename" : マップデータが格納されたファイル名
%inst
この機能は現在実装されていません。
%href
df_setbgpic
df_bgscroll


%index
df_bgscroll
背景スクロールを設定する
%prm
p1,p2,p3
p1(0) : BG番号(0〜)
p2(0) : 移動方向
p3(0) : 移動スピード(%)
%inst
ドットフレームワーク上で背景として設定された画像やマップのスクロールを行います。
背景スクロールを設定すると、以降は指定された方向とスピードで背景が移動します。
p1パラメーターで0から始まるBGの番号を指定します。BG番号は複数の背景を識別する際に使用します。
p2パラメーターで背景が移動する方向を指定します。これは0から255までの値で方向を指定します。以下のマクロを指定することも可能です。
^p
	マクロ名   値       方向
	---------------------------
	DIR_UP     128      上
	DIR_DOWN   0        下
	DIR_LEFT   192      左
	DIR_RIGHT  64       右
^p
p3パラメーターで移動スピードを指定します。100を指定した場合に、1フレームに1ドットのスピードで移動することになります。
スピードに0を指定した場合は、背景はスクロールせず停止した状態になります。
%href
df_setbgpic
df_setbgmap


%index
df_earea
エネミー出現範囲を設定する
%prm
p1,p2,p3,p4
p1(0) : 左上のX座標
p2(0) : 左上のY座標
p3(0) : 右下のX座標
p4(0) : 右下のY座標
%inst
df_enemygen命令で追加される敵(エネミー)の出現範囲を設定します。
左上の(X,Y)、右下の(X,Y)を指定することで出現範囲を限定することができます。
%href
df_addenemy
df_enemygen


%index
df_emode
エネミー生成詳細設定
%prm
p1,p2,p3,p4,p5,p6,p7
p1(0) : エネミー動作モード(0〜)
p2(0) : キャラクタNo.
p3(0) : ミサイル発射レート
p4(0) : インターバル
p5(0) : 移動スピード
p6(0) : exprm値
p7(0) : option値
%inst
df_addenemy、df_enemygen命令で生成されるエネミー(敵)の詳細設定を行います。
ここで設定されたパラメーターが新しく生成されるエネミー(敵)に適用されます。
パラメーターの詳細については、df_addenemy命令のヘルプを参照してください。
p1の動作モードに「EMODE_SEQ」を使用することで、シーケンス制御を行うシーケンスIDを指定することができます。
シーケンス制御は、時間ごとに動作モードを切り替える仕組みです。df_addseq命令でシーケンスIDを登録することができます。
たとえば、動作モードに「EMODE_SEQ+10」を指定した場合は、シーケンスID10のシーケンス制御が行われます。
%href
df_addenemy
df_enemygen


%index
df_eaction
エネミー制御サブルーチンの設定
%prm
*label,p1
*label : 制御サブルーチンのラベル
p1(0)  : プレイヤーアクション種別
%inst
追加したエネミー(敵)の制御サブルーチンを設定します。
p1パラメータでエネミーアクション種別を指定します。以下のマクロから種別を選ぶことができます。
^p
	マクロ名              種別
	-------------------------------------------------------
	EACTION_CONTROL       毎ターンごとの動作
	EACTION_HIT           プレイヤーの弾がヒットした時(*)
	EACTION_DESTROY       やられた(消去)時
	EACTION_SHOT          ミサイル発射時(*)

	(*)のある種別はデフォルトで標準的な動作が設定されています
^p
制御サブルーチンは、標準的なエネミーの動作を置き換えるために使用します。
エネミーアクション種別が示す状況になった時に、指定された制御サブルーチンが呼び出されます。
制御サブルーチンの中では、状況に応じてスプライトやゲームの進行処理を進めることができます。
制御サブルーチンを追加・変更することで、独自の動作をエネミーに加えることができます。
詳しくは、ドットフレームワークのマニュアルを参照してください。
%href
df_addplayer
df_getplayer
df_addpmis


%index
df_addenemy
指定座標にエネミーを追加
%prm
p1,p2,p3,p4
p1(0) : X座標
p2(0) : Y座標
p3(0) : 移動方向
p4(0) : 移動スピード
%inst
ドットフレームワークが制御するエネミー(敵)のキャラクターを追加します。
生成されたエネミー(敵)は以下の情報を持っています。
(*)が付加された項目は、df_emode命令で設定されたものが使用されます。
^p
	情報                内容
	-------------------------------------------------
        X,Y座標             表示位置
        移動方向            最初に移動する方向
        移動スピード(%)     移動するスピード
        キャラクタNo.       表示されるキャラクター(*)
	    動作モード(0〜)     動きを決定する値(*)
	    発射レート(%)       弾を発射する確率(*)
	    インターバル        次の行動までのフレーム数(*)
        exprm値             モード制御に渡される値(*)
        option値            スプライトのオプション値(*)
^p
(p1,p2)で出現する座標を指定します。
p3パラメーターで最初に移動する方向を指定します。これは0から255までの値で方向を指定します。以下のマクロを指定することも可能です。
^p
	マクロ名   値       方向
	---------------------------
	DIR_UP     128      上
	DIR_DOWN   0        下
	DIR_LEFT   192      左
	DIR_RIGHT  64       右
^p
p4パラメーターで移動スピードを指定します。100を指定した場合に、1フレームに1ドットのスピードで移動することになります。
p4パラメーターを省略した場合は、df_emode命令で設定された値が適用されます。
^
エネミー(敵)の動きを決定する最も重要な要素は、動作モードです。動作モードは、ドットフレームワークであらかじめ作成されているプリセットと、ユーザーが自由に作成できるものがあります。
プリセットされた動作モードは、「EMODE_」で始まるマクロが定義されています。
^p
	マクロ名            動作
	-------------------------------------------------
	EMODE_XAIM          X方向だけプレイヤーを追尾する
	EMODE_YAIM          Y方向だけプレイヤーを追尾する
^p
ユーザーが動作モードを作成する場合は、df_emodesub命令を使用します。
^
エネミー(敵)を追加するもう1つの方法として、df_enemygen命令が用意されています。
これは、決められた範囲にランダムに敵を生成する機能を持っています。
%href
df_emode
df_enemygen


%index
df_addemis
ドットフレームワークのエネミーミサイル追加
%prm
p1,p2,p3,p4,p5,p6
p1(0) : X座標
p2(0) : Y座標
p3(0) : ミサイル発射方向(0〜255)
p4(100) : ミサイル移動速度(%)
p5(0) : キャラクタNo.
p6(0) : option値
%inst
ドットフレームワークが制御するエネミー(敵)のミサイル(弾)を追加します。
エネミーのミサイルは、プレイヤーを破壊することができるスプライトになります。
(p1,p2)でミサイルの初期座標を指定します。
p3パラメータでミサイル発射の方向を指定します。これは0から255までの値で方向を指定します。以下のマクロを指定することも可能です。
^p
	マクロ名   値       方向
	-----------------------------------------
	DIR_UP     128      上
	DIR_DOWN   0        下
	DIR_LEFT   192      左
	DIR_RIGHT  64       右
	DIR_AIM    -1       プレイヤーを狙う
^p
p4パラメータでミサイル移動速度を指定します。100(%)を指定した場合は、1フレームに1ドットの速さで移動します。
p5パラメータは標準スプライトで使用するキャラクタNo.となります。
ドットフレームワーク内で定義されているキャラクターは、「CHR_」で始まるマクロで定義されています。詳しくは、ドットフレームワークのマニュアルを参照してください。
また、標準スプライトのes_pat、es_patanim命令で独自に定義したキャラクタNo.を指定することもできます。
キャラクタNo.の指定を省略した場合は、標準のミサイル(CHR_MISSILE)が使用されます。
p6パラメータでoption値を指定することができます。これは、スプライトのoptionパラメータとして保存されユーザーが使うことができます。
追加されたミサイルのスプライトNo.は、変数_dotfw_curspで参照することができます。
ミサイルは指定された方向に移動を続けて画面外に出た時点で消去されます。
%href
df_addplayer


%index
df_emodesub
エネミーモード制御サブルーチンの設定
%prm
p1,*label
p1(0)  : 動作モード(0〜)
*label : 制御サブルーチンのラベル
%inst
エネミー(敵)の動作モードごとに処理される制御サブルーチンを設定します。
p1パラメータで動作モードを指定します。
制御サブルーチンは、ユーザーが独自の処理を行うために設定することができます。
エネミーの動作モード設定された時に、指定された制御サブルーチンがターンごとに呼び出されます。
制御サブルーチンの中では、状況に応じてエネミーの移動処理を進めることができます。
制御サブルーチン呼び出し時には自動的に以下の変数が設定されます。
^p
	変数名                内容
	----------------------------------------------
	_dotfw_cursp          カレントスプライトID
	_dotfw_curemode       現在の動作モード
	_dotfw_enemy_exprm    exprm値
^p
これ以外の情報は、df_getaxis、df_getenemyprm命令などで適宜変数として取得することができます。
%href
df_addenemy
df_eaction
df_getaxis
df_getenemyprm


%index
df_enemygen
エネミー自動生成を行う
%prm
p1,p2,p3
p1(0) : 移動方向
p2(0) : 生成レート(%)
p3(0) : インターバル
%inst
ドットフレームワークが制御するエネミー(敵)のキャラクターを追加します。
df_enemygen命令は、一定時間ごとに指定された確率で敵を生成します。生成されるエネミー(敵)は、座標と移動方向だけが設定されて、それ以外はdf_emode命令で設定されたパラメーターが使用されます。
p1パラメーターで生成する敵が最初に進む方向を指定します。以下のマクロによる4つの方向を指定してください。
^p
	マクロ名   値       方向
	-----------------------------------------
	DIR_UP     128      上
	DIR_DOWN   0        下
	DIR_LEFT   192      左
	DIR_RIGHT  64       右
^p
敵は必ず画面外から登場する形で生成されます。つまり、敵が下方向(DIR_DOWN)に移動する場合は、画面上部から登場することになります。
敵が生成される座標はランダムに決定されます。座標を限定する場合は、df_earea命令を使用してください。
p2パラメーターで生成する確率を指定します。100を指定した場合は、必ず生成されることになります。
p3パラメーターでインターバルを指定します。たとえば、4を指定した場合は4フレームに1回の間隔で生成の確率に従ってエネミー(敵)を生成します。
%href
df_emode
df_addenemy
df_earea


%index
df_additem
指定座標にアイテムを追加
%prm
p1,p2,p3,p4,p5,p6
p1(0) : X座標
p2(0) : Y座標
p3(0) : キャラクタNo.
p4(0) : 動作モード(0〜)
p5(0) : 移動方向
p6(0) : 移動スピード
%inst
ドットフレームワークが制御するアイテムのキャラクターを追加します。
アイテムは、エネミー(敵)とほぼ同一の動作になっています。
生成されたアイテムは以下の情報を持っており、動作モードの仕組みも同じものになります。パラメーターで指定される項目は、df_addenemy、df_emode命令と同一です。
ただし、プレイヤーの弾で破壊されることはなく、プレイヤーが接触することでアイテムを取得することができます。
(*)が付加された項目は、df_emode命令で設定されたものが使用されます。
^p
	情報                内容
	-------------------------------------------------
        X,Y座標             表示位置
        移動方向            最初に移動する方向
        移動スピード(%)     移動するスピード
        キャラクタNo.       表示されるキャラクター
	    動作モード(0〜)     動きを決定する値
	    インターバル        次の行動までのフレーム数(*)
        option値            スプライトのオプション値(*)
^p
%href
df_emode
df_addenemy


%index
df_getaxis
カレントスプライトの座標を取得する
%inst
カレントスプライトの座標を取得して変数に代入します。
制御サブルーチン等で必要な座標を取得する際に使用することができます。
設定される変数は以下の通りです。
^p
	変数名                内容
	----------------------------------------------
	_dotfw_cx             X座標
	_dotfw_cy             Y座標
	_dotfw_movex          X方向の移動量(32bit)
	_dotfw_movex          Y方向の移動量(32bit)
^p
%href
df_getplayer
df_putaxis


%index
df_putaxis
カレントスプライトの移動量を再設定する
%inst
df_getaxis命令で取得したカレントスプライトの移動量を再びカレントスプライトに設定します。
制御サブルーチン等で必要な座標を設定する際に使用することができます。
参照される変数は以下の通りです。
^p
	変数名                内容
	----------------------------------------------
	_dotfw_movex          X方向の移動量(32bit)
	_dotfw_movex          Y方向の移動量(32bit)
^p
%href
df_getaxis


%index
df_getplayer
プレイヤーの座標を取得する
%inst
プレイヤースプライトの座標を取得して変数に代入します。
制御サブルーチン等で必要な座標を取得する際に使用することができます。
設定される変数は以下の通りです。
^p
	変数名                内容
	----------------------------------------------
	_dotfw_myx             X座標
	_dotfw_myy             Y座標
^p
%href
df_getaxis


%index
df_addseq
エネミーのシーケンス登録
%prm
p1,p2,p3,p4
p1(0) : シーケンスID(0=新規)
p2(0) : 動作モード(0〜)
p3(0) : タイマー値
p4(0) : exprm値
%inst
ドットフレームワークのシーケンス制御のためのシーケンス登録を行います。
シーケンス制御は、エネミーの動作で時間(フレーム)ごとにモードを切り替える仕組みです。
単一の動作モードではなく、時間ごとに複数のモードを切り替える際に使用することができます。
^
p1パラメーターで登録するシーケンスIDを指定します。0が指定された場合は、新規のIDを作成して実行後にシステム変数statにシーケンスIDを代入します。
p2パラメーターで動作モードを指定します。これはdf_emode命令で指定する動作モードと同様です。
p3パラメーターでタイマー値を指定します。このタイマーで示されたターン数が経過すると、次のシーケンスIDに登録された情報がエネミーに設定されます。
p4パラメーターでexprm値を指定します。シーケンス制御を行っている際にエネミーにこの値が設定されます。
^
シーケンス制御を有効にするには、df_emode命令で指定する動作モードに「EMODE_SEQ」とシーケンスIDを使用します。
たとえば、動作モードに「EMODE_SEQ+10」を指定した場合は、シーケンスID10のシーケンス制御が行われます。
%href
df_emode


%index
df_getenemyprm
現在のエネミーパラメーターを取得する
%inst
カレントスプライト(現在のエネミー)が持つパラメーターを取得して変数に代入します。
制御サブルーチン等で必要なパラメーターを取得する際に使用することができます。
設定される変数は以下の通りです。
^p
	変数名                内容
	----------------------------------------------
	_dotfw_enemy_turn     ターン数
	_dotfw_enemy_timer    タイマー値
	_dotfw_enemy_speed    速度(%)
	_dotfw_enemy_dir      方向
^p
%href
df_putenemyprm
df_getaxis


%index
df_putenemyprm
現在のエネミーパラメーターを再設定する
%inst
df_getenemyprm命令で取得したエネミーのパラメーターを再びエネミーに設定します。
制御サブルーチン等でパラメーターを再設定する際に使用することができます。
参照される変数は以下の通りです。
^p
	変数名                内容
	----------------------------------------------
	_dotfw_enemy_turn     ターン数
	_dotfw_enemy_timer    タイマー値
	_dotfw_enemy_speed    速度(%)
	_dotfw_enemy_dir      方向
^p
%href
df_getenemyprm


