おまけの話
投稿者: shainy 投稿日:2021/02/13 09:26
おまけ
ここからの内容はちょっとした裏技的なものなので、いい方法とは言えません。
今までに公開されているCoRのゲームは基本的にスマホの操作に対応していませんが、
それを無理やり対応させる方法です。これによって一部のゲームは動作するはずです(全部ではない)
ブラウザのURLアドレス入力欄に javascript:(以降にコード) と入力すると開いているWebページでJavaScriptを実行できます。
(スマホの機種やブラウザアプリによってはうまくいかないかも)
JavaScriptが何なのかはここでは詳しく言いませんが、CoRの動作に絡んでいるものです(世の中の大体のWebページにも)
これを用いて、スマホでの操作も反映されるように補助します
スマホのブラウザでCoRのゲームを開いた状態でアドレスバーに
javascript:
続けて上記のコードをコピペ
javascript:Array.from...
と入力して、検索されずにそのページにとどまれば完了
これでpointer.down?メソッドがスマホでも正常に動作するようになりますが、
スプライトのtap_down?メソッドは動作しないため、ゲームによってはこの方法でもスマホで遊ぶことはできません。
まあどうしてもスマホで遊びたいなら、マウスをスマホに接続すればいいだけの話ですが
ツイート
ここからの内容はちょっとした裏技的なものなので、いい方法とは言えません。
今までに公開されているCoRのゲームは基本的にスマホの操作に対応していませんが、
それを無理やり対応させる方法です。これによって一部のゲームは動作するはずです(全部ではない)
ブラウザのURLアドレス入力欄に javascript:(以降にコード) と入力すると開いているWebページでJavaScriptを実行できます。
(スマホの機種やブラウザアプリによってはうまくいかないかも)
JavaScriptが何なのかはここでは詳しく言いませんが、CoRの動作に絡んでいるものです(世の中の大体のWebページにも)
これを用いて、スマホでの操作も反映されるように補助します
Array.from(document.getElementsByTagName("iframe")).some(iframe => { if (!/https:\/\/rmake.jp\/games\/[0-9]+\/core_player.*/.test(iframe.src)) return false; const func2 = e => { const touch = e.changedTouches[0]; const bounds = touch.target.getBoundingClientRect(); const x = touch.clientX - bounds.left; const y = touch.clientY - bounds.top; iframe.contentWindow.rmakeGame.input.mousePointer.x = x; iframe.contentWindow.rmakeGame.input.mousePointer.y = y; iframe.contentWindow.rmakeGame.input.mousePointer.isDown = true; iframe.contentWindow.rmakeGame.input.mousePointer.isUp = false; }; const func = canvas => { canvas.addEventListener("touchstart", func2); canvas.addEventListener("touchmove", func2); canvas.addEventListener("touchend", function (e) { const touch = e.changedTouches[0]; const bounds = touch.target.getBoundingClientRect(); const x = touch.clientX - bounds.left; const y = touch.clientY - bounds.top; iframe.contentWindow.rmakeGame.input.mousePointer.x = x; iframe.contentWindow.rmakeGame.input.mousePointer.y = y; iframe.contentWindow.rmakeGame.input.mousePointer.isDown = false; iframe.contentWindow.rmakeGame.input.mousePointer.isUp = true; }); }; const canvas = iframe.contentDocument.querySelector("#cor_player canvas"); if (!canvas) { iframe.addEventListener("load", e => { const canvas = iframe.contentDocument.querySelector("#cor_player canvas"); if (canvas) { func(canvas); } }); return true } func(canvas); return true; });
スマホのブラウザでCoRのゲームを開いた状態でアドレスバーに
javascript:
続けて上記のコードをコピペ
javascript:Array.from...
と入力して、検索されずにそのページにとどまれば完了
これでpointer.down?メソッドがスマホでも正常に動作するようになりますが、
スプライトのtap_down?メソッドは動作しないため、ゲームによってはこの方法でもスマホで遊ぶことはできません。
まあどうしてもスマホで遊びたいなら、マウスをスマホに接続すればいいだけの話ですが
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。