スマホ仮想ボタンのプラグイン導入でアプリが落ちる事を回避する方法

ツクる上でのちょっとした小ネタや裏ワザなどを紹介してみましょう。
rock3
記事: 31
登録日時: 2016年1月01日(金) 14:51

スマホ仮想ボタンのプラグイン導入でアプリが落ちる事を回避する方法

投稿記事by rock3 » 2016年1月13日(水) 16:22

皆さん、こんにちは。
スマホ仮想ボタンのプラグイン導入でアプリが、落ちる事を回避する方法が判ったので投稿します。

スマホ仮想ボタンのプラグインとして動くものに「MBS_MobileDirPad」と
「UCHU_MobileOperation」があります。
しかし、どちらもcrosswalk 10.39.235.16でAPKにパッケージしてAndroid4系スマホで
アプリとしてプレイすると移動や戦闘を繰り返すとアプリが、落ちてしまいます。

this変数を、scene変数に代入して関数内で使う事でメモリリークが発生するようです。
下記が、回避方法です。

MBS_MobileDirPad.jsの下記部分を、コメントアウトするとアプリが安定動作します。
// var scene = this;
// this._messageWindow.startMessage = function() {
// oldStartMessage.apply(this, arguments);
// scene.hideUserInterface();
// };
// Window_Message.prototype.terminateMessage = function() {
// oldTerminateMessage.apply(this, arguments);
// scene.showUserInterface();
// };

UCHU_MobileOperation.jsの下記部分を、コメントアウトするとアプリが安定動作します。
// var scene = this;
//
// this._messageWindow.startMessage = function() {
// oldStartMessage.apply(this, arguments);
// if($gameMessage.positionType()==2){
// scene.hideUserInterface();
// }
// };
// Window_Message.prototype.terminateMessage = function() {
// oldTerminateMessage.apply(this, arguments);
// Btn_hide=false;
// setTimeout("Scene_Base.prototype.showUserInterface();", 200);
// };
※中略
// var scene = this;
// this._messageWindow.startMessage = function() {
// oldStartMessage.apply(this, arguments);
// if($gameMessage.positionType()==2){
// scene.hideUserInterface();
// }
// };
// Window_Message.prototype.terminateMessage = function() {
// oldTerminateMessage.apply(this, arguments);
// Btn_hide=false;
// setTimeout("Scene_Base.prototype.showUserInterface();", 200);
// };

MBS_MobileDirPad
https://github.com/MaskedRpg/JS/blob/master/mv/MBS_MobileDirPad.js

UCHU_MobileOperation
http://uchuzine.x0.com/demo/download/UCHU_MobileOperation.js

以上、参考になれば幸いです。

しろみ
記事: 17
登録日時: 2015年12月17日(木) 23:36

Re: スマホ仮想ボタンのプラグイン導入でアプリが落ちる事を回避する方法

投稿記事by しろみ » 2016年1月20日(水) 21:01

rock3様、こんにちは!
仮想ボタンのプラグイン導入でアプリが多々落ちる現象に悩まされていたので、こちらの講座を参考にしたところ無事アプリが安定化しました!
ですが、その代わりに添付画像のようにメッセージウィンドウにボタンが被るようになってしまいました……。
元の状態ですと、メッセージウィンドウが出る場合ボタンは透過されていたかウィンドウの下に表示されていたのですが……。

この現象は指定の場所をコメントアウトした方全員に出ていますでしょうか?
コメントアウトはスラッシュとアスタリスクで行っております。
それとも、単純に私が何かミスをしているのでしょうか……;;
何分初心者ですので説明不足で読みづらいと思いますがご容赦くださいませ。
添付ファイル
IMG_1195.JPG
rock3
記事: 31
登録日時: 2016年1月01日(金) 14:51

Re: スマホ仮想ボタンのプラグイン導入でアプリが落ちる事を回避する方法

投稿記事by rock3 » 2016年1月21日(木) 17:07

こんにちは。
コメントアウトする事でボタンを、隠す動作は機能しませんが、代わりに安定して動作します。
たぶんボタンを、隠す動作自体が、不安定化の原因の可能性も捨てきれない状況です。
ボタンの表示位置を、メッセージと干渉しない位置に変更する事を、お勧めします。

もし作られているゲームが、発売や公開まで時間があるならツクールMV発売記念イベントの会場で
スマホ向け公式プラグイン「タッチUI」が、展示されていたようなので公式の配布を、待つと良いと思います。

プラグインの作成を、リクエストされてみるのも方法の一つですが、急ぐでしたらプラグイン作者に修正依頼するか
希望の動作になるように自力で修正されたほうが、良いと思います。
判らないことがあれば新たに質問すると良いと感じます。
しろみ
記事: 17
登録日時: 2015年12月17日(木) 23:36

Re: スマホ仮想ボタンのプラグイン導入でアプリが落ちる事を回避する方法

投稿記事by しろみ » 2016年1月22日(金) 03:49

お返事ありがとうございます!
ひとまずボタンの位置を調整してプレイに支障が出ないようにすることにしました!
改めて、素敵な講座を有難うございます!

“MV:小ネタ・TIPS・講座” へ戻る