メソッド MainProgram.prototype.hSet - Ryo-9399/mc_canvas GitHub Wiki
概要
指定座標(ブロック単位)の位置に、指定したコードのハテナブロックを設置します。
構文
MainProgram.prototype.hSet = function(blockX, blockY, code)
引数
引数名 | 型 | 概要 |
---|---|---|
blockX | number (整数) | 設置先のX座標(ブロック単位) |
blockY | number (整数) | 設置先のY座標(ブロック単位) |
code | number (整数) | 設置するハテナブロックのコード |
詳細
blockX、_blockY_は、ブロック単位の座標値が入ります。例えば、画面を左上端にスクロールしたとき、その画面内で最も左上の位置が(blockX, blockY)=(0, 0)です。
このメソッドは、配列co_hの要素のプロパティを書き換えます。先頭から未使用の要素(co_h[i].c === 0
に合致する要素)を検索し、最初に見つかった要素のプロパティに、次のように引数の値を代入します。
co_h[i].c = code;
co_h[i].x = blockX;
co_h[i].y = blockY;
codeの詳細
各_code_の値に対する、ハテナブロックを叩いた時の挙動を以下の表に示します。
code値 | 主な処理 | 挙動 |
---|---|---|
100 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2000) | コインが1枚出る |
200 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2010)[mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2020)[mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2000) | コインが3枚出る |
300 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2100) | アイテム(ファイヤーボール)が出る |
400 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2110) | アイテム(バリア)が出る |
500 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2120) | アイテム(タイム)が出る |
600 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2130) | アイテム(ジェット)が出る |
700 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2140) | アイテム(ヘルメット)が出る |
800 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2150) | アイテム(しっぽ)が出る |
900 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2160) | アイテム(ドリル)が出る |
1000 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2170) | アイテム(グレネード)が出る |
1100 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2180) | アイテム(1UP)が出る |
2000 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX + i, blockY, 20) (i=1~10) | 右にブロック1が10個出る |
2100 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX - i, blockY, 20) (i=1~10) | 左にブロック1が10個出る |
2200 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - i, 10) (i=1~10) | 上にハシゴが10個出る |
2300 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - i, 20) (i=1~10) | 上にブロック1が10個出る |
2400 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - i, 20) (i=1~2) | 上にブロック1が2個出る |
2500 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX + i, blockY, 20) (i=1~2) | 右にブロック1が2個出る |
2600 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX - i, blockY, 20) (i=1~2) | 左にブロック1が2個出る |
2700 | [aSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.aSet)(blockX * 32, blockY * 32 - 32, 700, blockX * 32) | ジャンプ台が出る |
2800 | [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - 1, 5) | トゲが出る |
2900 | 周囲10マスのトゲをコインに変換 | |
3000 | 周囲10マスのトゲをブロック1に変換 | |
3100 | 周囲10マスのブロック1をコインに変換 | |
3200 | 周囲10マスのブロック4を消去 | |
3300 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2186) | アイテム(水平に飛ぶファイヤーボール)が出る |
3400 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2187) | アイテム(跳ねるファイヤーボール)が出る |
3500 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2188) | アイテム(ダブルファイヤーボール)が出る |
3600 | 右にブロック1破壊砲発射 | |
3700 | 左にブロック1破壊砲発射 | |
3800 | 上にブロック1破壊砲発射 | |
3900 | 下にブロック1破壊砲発射 | |
4000 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2171) | アイテム(グレネード5発)が出る |
4100 | [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2172) | アイテム(コンティニュー)が出る |
4200 | 周囲10マスにスイッチONの影響を与える | |
4300 | 周囲10マスにスイッチOFFの影響を与える | |
4400 | 周囲5マスにスイッチONの影響を与える | |
4500 | 周囲5マスにスイッチOFFの影響を与える |