CanvasMasao.jsを微妙にいじる

スーパー正男 (JSまさお) のオープンソース CanvasMasao.js について,このサイトで微妙にいじったところをメモします。

 今更だったりデバッグが甘かったりするかもしれません。万が一興味があれば懐疑的にご参考ください。

なお,CanvasMasao.jsの開発筆頭者はRYOさん (JSまさお置き場),
 近年の主な開発貢献者はurotaichiさん (urotaichi corporation) です。最近のバージョン→Ryo-9399/mc_canvas

ホーミングアミュレットをアイテム入手・Xキー発射にする設定
従来の仕様
 ホーミングアミュレット (追尾タイプのファイヤーボール) は特技による初期装備のみ (「j_add_tokugi」で 24)。
 つまり,他のファイヤーボールのタイプと違って,初期装備せずにアイテムで途中入手することはできない。
 また,[Z]キーはホーミングになるが,[X]キーは通常タイプ (バウンド) のままなので,ホーミング単独にはできない。
 パラメータ「j_fire_type」は 4 (ダブル) まで。
 従来設定のステージ: 正正正男男男
変更後の仕様 (2022.02.22)
 パラメータ「j_fire_type」を 5 に設定したとき,他のファイヤーボールと同じ仕様でホーミングアミュレットを使える。
 つまり,特技でホーミングを設定しなくても,途中のアイテムでホーミングを入手できる。
 また,[Z]と[X]キーの両方がホーミングになる。[Z]ジャンプ時に放たない特技設定も反映できる。
 ファイヤーボールセレクトの人は,従来どおりホーミングの選択肢を含まない。
 「j_fire_type」を 5 にしなければ,特技でホーミングを設定しても従来と同じ仕様。
 新設定のステージ: コスモフロート (※入手のハードルが高め)
パラメータ
検索1
this.default_j_fire_type>4)&&(this.default_j_fire_type=1)
置換1
this.default_j_fire_type>5)&&(this.default_j_fire_type=1)
Xキー挙動
検索2
this.gs.rsAddSound(23))):0==this.co_j.muki?this.jmSet(this.co_j.x,this.co_j.y,100)
置換2
this.gs.rsAddSound(23))):5==this.default_j_fire_type?0==this.co_j.muki?this.jmSet(this.co_j.x,this.co_j.y,110):this.jmSet(this.co_j.x,this.co_j.y,115):0==this.co_j.muki?this.jmSet(this.co_j.x,this.co_j.y,100)
背景画像の透明度を設定するMasaoJSSメソッド:setBackAlpha
追加された仕様 (2022.02.22 - 03.21)

 MasaoJSSにメソッド「setBackAlpha」を加え,背景画像の透明度を設定できるようにする。X座標背景にも作用。

 セカンド背景画像の透明度には作用しないため,
 例えばセカンド背景を奥に表示させ,その手前の通常背景の透明度を変えることで,
 画面座標に応じて背景をフェードで変える,タイム経過でゆるやかに昼夜を変えるなどが可能。

 setBackAlpha(t) … 引数 t は数値で,0 (透明) から 255 (不透明) まで。
 t が 0 を下回るときと,255 を上回るときは,それぞれ 0 と 255 に補正。
 戻り値は真偽値で,メソッド実行時に true 。

 使用ステージ: まさお激難コンストラクション (座標フェード)

描画
検索1
function(t,i){o.gg.os2_g.drawImage(l,t+n+32,i+g+32)},v=[1,1]
置換1
function(t,i){o.gg.os2_g.setGlobalAlpha(o.mp.setbacka_level);o.gg.os2_g.drawImage(l,t+n+32,i+g+32);o.gg.os2_g.dispose()},v=[1,1]
初期値
検索2
this.setbacki_img=null,this.js_pen_color
置換2
this.setbacki_img=null,this.setbacka_level=255,this.js_pen_color
メソッド内部
検索3
this.gg.loadImage(t),!0)}},{key:"setMyWait"
置換3
this.gg.loadImage(t),!0)}},{key:"setbacka",value:function(t){return 100==this.ml_mode&&(2==this.gg.layer_mode||1==this.mcs_haikei_visible)&&(this.setbacka_level=t,!0)}},{key:"setMyWait"
メソッド外部
検索4
i.mp.setbacki(t)},this.pressLeft
置換4
i.mp.setbacki(t)},this.setBackAlpha=function(t){return!!i.mp&&i.mp.setbacka(t)},this.pressLeft
メソッド外部'
検索5
this.mp.setbacki(t)}},{key:"pressLeft"
置換5
this.mp.setbacki(t)}},{key:"setBackAlpha",value:function(t){return null!=this.mp&&this.mp.setbacka(t)}},{key:"pressLeft"
JSON変換
検索6
"setbacki_f","setbacki_img","showr_c","showr_x"
置換6
"setbacki_f","setbacki_img","setbacka_level","showr_c","showr_x"
(最終更新: 2022年03月21日)