ページ 11

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

Posted: 2016年1月13日(水) 16:22
by rock3
皆さん、こんにちは。
スマホ仮想ボタンのプラグイン導入でアプリが、落ちる事を回避する方法が判ったので投稿します。

スマホ仮想ボタンのプラグインとして動くものに「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

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

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

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

この現象は指定の場所をコメントアウトした方全員に出ていますでしょうか?
コメントアウトはスラッシュとアスタリスクで行っております。
それとも、単純に私が何かミスをしているのでしょうか……;;
何分初心者ですので説明不足で読みづらいと思いますがご容赦くださいませ。

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

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

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

プラグインの作成を、リクエストされてみるのも方法の一つですが、急ぐでしたらプラグイン作者に修正依頼するか
希望の動作になるように自力で修正されたほうが、良いと思います。
判らないことがあれば新たに質問すると良いと感じます。

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

Posted: 2016年1月22日(金) 03:49
by しろみ
お返事ありがとうございます!
ひとまずボタンの位置を調整してプレイに支障が出ないようにすることにしました!
改めて、素敵な講座を有難うございます!