こんにちは。
移動中向きを固定してカニ歩きできるプラグインなどありませんでしょうか?
ボタンを押している間中プレイヤーの向きを固定するようなものです。
また、逆に移動せずに向きのみかえるプラグインもないでしょうか?
ボタンを押している間プレイヤーの移動のみ停止して向きを変えられるものです。
そのようなプラグインを知っている方いましたら教えて頂けましたら幸いです。
追記
因みにプラグインなしでもできる方法ありましたら教えてください。
よろしくお願いいたします。
【解決済み】移動中向き固定及び、移動せずに向きだけ変えたい
【解決済み】移動中向き固定及び、移動せずに向きだけ変えたい
最後に編集したユーザー にゃたま [ 2018年9月24日(月) 16:16 ], 累計 1 回
Re: 移動中向き固定及び、移動せずに向きだけ変えたい
9/24追記
※にゃたま様が制作されたプラグインがこの先にありますので、
機能が必要な方は、そちらを使用されることを推奨致します。
ド素人なので、処理に問題があるようでしたらすみません。
向きだけ変える部分についてのみですが、僭越ながら回答させていただきます。
rpg_object.jsの7660行目を、例えば下記のように弄って下さい。
Game_Player.prototype.executeMove = function(direction) {
if(Input.isPressed('shift')){ //シフトキーが押されている場合
this.setDirection(Input.dir4); //その場で方向転換する
}else{
this.moveStraight(direction); //入力された方向に進む(元々の処理)
}
};
//以下追記-----------------------------------------------------------------------------
//
//元の処理を上書きしてしまうのは問題があるということで、申し訳有りません。
//色々な方のスクリプトを参考に、元の処理に影響を与えないようにしてみました。
//
//後から見る方もいらっしゃるかと思いますので、ここに載せさせていただきます。
(function(){
'use strict';
Input.keyMapper[67] = 'C'
const _Game_Player_executeMove = Game_Player.prototype.executeMove;
Game_Player.prototype.executeMove = function(direction) {
if(Input.isPressed('C')){
this.setDirection(Input.dir4);
}else{
_Game_Player_executeMove.apply(this, arguments);//元の処理
}
};
})();
カニ歩きについては機能を実装したこともなく、少し眺めてみましたが良くわかりませんでした。
お役に立てず申し訳ありません。
※カニ歩き実装できました。下に載せました。
※にゃたま様が制作されたプラグインがこの先にありますので、
機能が必要な方は、そちらを使用されることを推奨致します。
ド素人なので、処理に問題があるようでしたらすみません。
向きだけ変える部分についてのみですが、僭越ながら回答させていただきます。
rpg_object.jsの7660行目を、例えば下記のように弄って下さい。
Game_Player.prototype.executeMove = function(direction) {
if(Input.isPressed('shift')){ //シフトキーが押されている場合
this.setDirection(Input.dir4); //その場で方向転換する
}else{
this.moveStraight(direction); //入力された方向に進む(元々の処理)
}
};
//以下追記-----------------------------------------------------------------------------
//
//元の処理を上書きしてしまうのは問題があるということで、申し訳有りません。
//色々な方のスクリプトを参考に、元の処理に影響を与えないようにしてみました。
//
//後から見る方もいらっしゃるかと思いますので、ここに載せさせていただきます。
(function(){
'use strict';
Input.keyMapper[67] = 'C'
const _Game_Player_executeMove = Game_Player.prototype.executeMove;
Game_Player.prototype.executeMove = function(direction) {
if(Input.isPressed('C')){
this.setDirection(Input.dir4);
}else{
_Game_Player_executeMove.apply(this, arguments);//元の処理
}
};
})();
カニ歩きについては機能を実装したこともなく、少し眺めてみましたが良くわかりませんでした。
お役に立てず申し訳ありません。
※カニ歩き実装できました。下に載せました。
最後に編集したユーザー mame [ 2018年9月24日(月) 20:19 ], 累計 4 回
Re: 移動中向き固定及び、移動せずに向きだけ変えたい
mame様
ご連絡いただきありがとうございます。
プラグインにしてやってみましたらキー入力でうまく固定することができました。
コアスクリプトを編集するのはコアスクリプトバージョンアップ時に問題になるので
保留とさせていただきます。
あとは向きだけ固定の機能ですね…私も少し探してみたのですが
setDirectionというメソッドはGame_Charactorで定義されているので
これにキー入力で分岐させてしまうとマップで動いている他のキャラクターまで
止まってしまいますね…
Game_Playerの中で無いか探ってたのですが私もわかりませんでした。
引き続きわかりそうな方がいましたらご教授いただけたら幸いです。
ご連絡いただきありがとうございます。
プラグインにしてやってみましたらキー入力でうまく固定することができました。
コアスクリプトを編集するのはコアスクリプトバージョンアップ時に問題になるので
保留とさせていただきます。
あとは向きだけ固定の機能ですね…私も少し探してみたのですが
setDirectionというメソッドはGame_Charactorで定義されているので
これにキー入力で分岐させてしまうとマップで動いている他のキャラクターまで
止まってしまいますね…
Game_Playerの中で無いか探ってたのですが私もわかりませんでした。
引き続きわかりそうな方がいましたらご教授いただけたら幸いです。
Re: 移動中向き固定及び、移動せずに向きだけ変えたい
カニ歩きが実装できたので、お知らせします。
Game_Character.prototype.setDirectionをコピーして、
Game_Playerに名前を変更し、条件分岐を追加しました。
プラグインを作成し、導入してみてください。
(function(){
'use strict';
//---------------------------------------------------------------
Input.keyMapper[65] = 'A' //キーを追加
Game_Player.prototype.setDirection = function(d) {
if(Input.isPressed('A')){ //Aキーが押されていればreturn;
return;
}
//ここからは通常の処理
if (!this.isDirectionFixed() && d) {
this._direction = d;
}
this.resetStopCount();
};
//---------------------------------------------------------------
})();
スクリプトは素人なので、なにか問題があるようでしたらすみません。
Game_Character.prototype.setDirectionをコピーして、
Game_Playerに名前を変更し、条件分岐を追加しました。
プラグインを作成し、導入してみてください。
(function(){
'use strict';
//---------------------------------------------------------------
Input.keyMapper[65] = 'A' //キーを追加
Game_Player.prototype.setDirection = function(d) {
if(Input.isPressed('A')){ //Aキーが押されていればreturn;
return;
}
//ここからは通常の処理
if (!this.isDirectionFixed() && d) {
this._direction = d;
}
this.resetStopCount();
};
//---------------------------------------------------------------
})();
スクリプトは素人なので、なにか問題があるようでしたらすみません。
Re: 移動中向き固定及び、移動せずに向きだけ変えたい
mame様
お返事が遅くなり申し訳ございませんでした。
自分でも無い頭を使ってアドバイスいただいたとおりプラグイン組んだら
うまく動作しました。無事解決いたしました!!
私もスクリプトはまだ初心者の域を脱しきれてませんが一応作ったので
同様の機能を使いたい方用に残しておくことにします。
もし問題があれば取り下げたいと思います。
今回はお付き合いいただきましてありがとうございました。
お返事が遅くなり申し訳ございませんでした。
自分でも無い頭を使ってアドバイスいただいたとおりプラグイン組んだら
うまく動作しました。無事解決いたしました!!
私もスクリプトはまだ初心者の域を脱しきれてませんが一応作ったので
同様の機能を使いたい方用に残しておくことにします。
もし問題があれば取り下げたいと思います。
今回はお付き合いいただきましてありがとうございました。
- 添付ファイル
-
NYA_PlayerRotationForbid.js
- 1.0.1 競合の可能性を減らしました
- (2.88 KiB) ダウンロード数: 223 回
最後に編集したユーザー にゃたま [ 2018年10月11日(木) 01:27 ], 累計 2 回
Re: 【解決済み】移動中向き固定及び、移動せずに向きだけ変えたい
にゃたま様
こちらこそ、ありがとうございました。
勉強になりました。今後もなにかありましたら、よろしくお願い致します。
こちらこそ、ありがとうございました。
勉強になりました。今後もなにかありましたら、よろしくお願い致します。