メソッドの仕様と使い方(まさおコンストラクションFX編)

ここではまさおコンストラクションFX Update11以降で公開されたメソッドを紹介
これらはほぼ同期式でしか使えません。同期式でなくても使用できるメソッドについては(非同期可)と書きます。
これらのメソッドはサンプルプログラムと合わせて相当難しくなっています。


drawImageRotate(Image型オブジェクト,x座標,y座標,回転角(0‾359))

画像を指定した座標(ピクセル値)に配置した後、指定した角度だけ回転させる。
サンプルのように連続で回転させたい場合は回転角を動的な数値とします。
回転角は360まで指定できますが、360°は0°と同じなので意味はありません。


drawImageScale(Image型オブジェクト,x座標,y座標,x方向の拡大率,y方向の拡大率)

画像を指定した座標(ピクセル値)に配置した後、指定した拡大率だけ画像を拡大する。
サンプルのように細かく拡大したい場合は動的な数値とします。
拡大率は百分率(元は100とし、2倍は200,10倍は1000)で指定する。


setSystemDrawMode(数値)

主人公や敵の描画をするかどうかを数値で指定します。
1は通常の描画をします。
2を指定した場合は主人公の画像が表示されないだけで、実体は存在します。
3を指定した場合は主人公も敵も描画されなくなります。


getMyObjectPattern()

主人公の画像をパターンコードを取得します。
100が静止状態なのであとはお察しください。


setMyObjectPattern(パターンコード)

主人公の画像をパターンコードを用いて指定する。
数値は0‾249


setMyObjectImage(Image型オブジェクト,x座標修正値,y座標修正値)(非同期可)

主人公の画像をImage型オブジェクトで指定する。
主人公のサイズは32*32というのは変わらないので、それより大きい画像を主人公にする場合は
修正値に適切な値を入れてやる必要がある。
消すにはプログラム中でImage型オブジェクトをnullにする。
同期式でなくても使える


drawSystemObject(数値)

setMyObjectPatternメソッドやsetMyObjectImageメソッドで設定した画像を
このメソッドを使って反映させる。
1は主人公。2は敵。3は得点と一言メッセージを描画。


newChipImage("ファイル名",チップ幅,チップ高さ,チップの横の数,チップの縦の数)(非同期可)

指定した画像ファイルからチップデータを切りだす。
チップの幅と高さを指定し、1チップのサイズを指定。
チップの横の数を決め、横に何個チップを作るか決める。
チップの縦の数を決め、縦に何個チップを作るか決める。
サンプルでは横12、縦8の計96個のチップを1枚の画像から切り出している。
masaoFXApplet.classを使用することで非同期式でも使用することが出来る。(他のチップ関連も同様)
戻り値はオリジナル画像のID


getChipImage(オリジナル画像のID,コード)(非同期可)

チップ画像のコードを指定し、そのImageオブジェクトを得る。
チップコードについては別ページで詳しく説明する。(あとで追加)


makeReverseChipImage(オリジナル画像のID)(非同期可)

指定したチップコードの画像を水平垂直反転したものを生成する


getChipImage(オリジナル画像のID,コード,反転情報)(非同期可)

makeReverseChipImageメソッドを呼んだ後、水平垂直回転したオリジナル画像から、Imageオブジェクトを得る。

反転情報内容
0通常
1水平反転
2垂直反転
3水平垂直反転

disposeChipImage(オリジナル画像のID)(非同期可)

指定IDのオリジナル画像を破棄する


getMyObjectCondition()

主人公の状態を得る。各数値については今後調べる。

数値アクション
100通常時(生存時)
110敵を踏む
120アイテムのドリルで穴を掘っている
130ロードランナー時に特技として穴を掘っている
200敵に接触した
210死亡し、ゲームオーバ画面が出る前
220上から潰れて死亡 
230横から潰れて死亡 
240針などに触れて死亡 
250ドットイート等で敵に接触した

getMyObjectAC()

主人公のアニメーションカウンターを得る。
基本的には0‾3の間の数字となるが、例外あり。
数値アクション
0静止状態
シューティング移動
4方向移動
1移動時
2移動時
ジャンプ
落下
泳ぐ
3移動時


getEnemyAC()

敵のアニメーションカウンターを得る。
このメソッドが呼ばれる度に得られる値が1増える。
範囲は0‾3で3より大きくなると0に戻る。
数値アクション
0不明
1不明
2不明
3不明


getEnemyObjectCondition(数値)

指定した敵コードの状態を得る
数値アクション
0敵の完全消滅
10指定した敵に一定範囲内に近づくまで(x座標のみ)
50敵死亡
52アイテム攻撃による敵死亡
100落ちない亀生存(左向き)
105落ちない亀生存(右向き)
110落ちる亀生存(左向き)
115落ちる亀生存(右向き)
200ピカチー待機中(向きは関係なし)
210ピカチー攻撃(向きは関係なし)
300チコリン生存(向きは関係なし)
400ヒノララシ生存(左向き)
405ヒノララシ生存(右向き)
500上下に動くポッピー生存(向きは関係なし)
510移動するポッピー生存(左向き)
515移動するポッピー生存(右向き)
600マリリ生存(左向き)
605マリリ生存(右向き)
700ヤチャモ生存(向きは関係なし)
800ミズタロウ待機中(向きは関係なし)
810ミズタロウ初段攻撃後(向きは関係なし)
900折り返ししないエアームズ生存
910エアームズ停止
950折り返すエアームズ生存(左向き)
960折り返すエアームズ生存(右向き)
1000タイキング生存(左向き)
1005タイキング生存(右向き)
1100クラゲッソ生存(向きは関係なし)
特殊敵
数値アクション
1200追跡亀(左向き)
1210追跡亀(右向き)
1220追跡亀(落下中)
54追跡亀をアイテムで倒す
60アイテムで倒した追跡亀の復活待機中
1400追跡ピカチー(左向き)
1410追跡ピカチー(右向き)
1420追跡ピカチー(上移動)
1430追跡ピカチー(下移動)
57追跡ピカチーをアイテムで倒す
65アイテムで倒した追跡ピカチーの復活待機中
引数として渡す数値は左から数えて何番目に出現する敵を0から順番に


getEnemyObjectDirection(数値)

指定した敵コードの向きを得る
得られる数値はgetMyDirectionメソッドと同じである。
引数として渡す数値は左から数えて何番目に出現する敵を0から順番に


setEnemyObjectImage(左から数えた敵(0‾最大設置数-1),Imageオブジェクト,x方向修正値,y方向修正値)

敵の画像を取得したImageオブジェクトで描画
修正値で微調整。


getMyDirection4way()

主人公の向きをハシゴの昇り降りを含めた向きで取得する
数値アクション
0左向き
1右向き
2ハシゴ昇る
3ハシゴ降りる


setScrollAreaReal(x座標最小値(32‾5280),y座標最小値(320‾960),x座標最大値,y座標最大値)(非同期可)

スクロールする範囲をピクセル単位の座標で指定する。
変数で数値を操作することにより、サンプルのようなスクロールを実現することもできる。
最小値と最大値を同じ数値とすると表示位置が固定される


isPressSpaceKey()(非同期可)

スペースキーを入力しているときに戻り値として1を返す。


isPressCodeKey(キー番号)(非同期可)

指定したキー番号(取得するにはgetKeyCodeメソッドを使用)を示すキーを入力しているときに戻り値として1を返す。


playBGM("ファイル名")(非同期可)

FX12でMIDI演奏が標準機能となった際に追加されたメソッド。
ファイル名を指定して演奏する。
auやwav等も再生できる。

playBGMLoop("ファイル名")(非同期可)

FX12でMIDI演奏が標準機能となった際に追加されたメソッド。
ファイル名を指定して演奏する。
こちらはループする。

stopBGM()(非同期可)

FX12でMIDI演奏が標準機能となった際に追加されたメソッド。
演奏を終了する。