おまけの話
投稿者:
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?メソッドは動作しないため、ゲームによってはこの方法でもスマホで遊ぶことはできません。
まあどうしてもスマホで遊びたいなら、マウスをスマホに接続すればいいだけの話ですが
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。