- RPGツクールXP/VX初心者質問スレ 8
695 :名無しさん@お腹いっぱい。[sage]:2009/02/08(日) 11:15:24 ID:jee5DlX7 - >>686
スクリプト$game_playerクラスのpassable?()より下に追加。 ---- alias :orig_passable? :passable? def passable?(x, y, d) $game_switches[50] = orig_passable?(x, y, d) return $game_switches[50] end ---- これで、前回プレイヤーが移動したときの移動可能判定がスイッチ50に記憶される。 扉等で移動してくる場合、扉イベント中でスイッチ50をONにすること。 そうしないと場所移動直後に"扉に衝突した"判定が残っている為。
|
- RPGツクールXP/VX初心者質問スレ 8
696 :名無しさん@お腹いっぱい。[sage]:2009/02/08(日) 11:24:07 ID:jee5DlX7 - >>691
+ $game_v[22].to_s to_s()は数値を10進数の文字列に変換する。 文字列+数値はNGだが、文字列+文字列はOKってこと。 ま、詳しくはヘルプで。
|
- RPGツクールXP/VX初心者質問スレ 8
700 :名無しさん@お腹いっぱい。[sage]:2009/02/08(日) 13:38:23 ID:jee5DlX7 - >>699
そんなはずはない。動作確認済みだ。 もしかして、def passable?(x, y, d) の関数内に入れたのか? そうじゃなくて、passable?()…end の下に入れてほしかったんだが。 デフォなら36行目とかだぞ?
|
- RPGツクールXP/VX初心者質問スレ 8
703 :名無しさん@お腹いっぱい。[sage]:2009/02/08(日) 13:49:21 ID:jee5DlX7 - >>702
$game_actors を使えばいい。
|
- RPGツクールXP/VX初心者質問スレ 8
705 :700[sage]:2009/02/08(日) 14:13:23 ID:jee5DlX7 - そんなはずはないってのは、ちょっと高圧的な発言だったかな…反省。
334行目って事は、$game_playerクラスがデフォじゃないって事だろうから、 何か他の修正と競合してるかもしれないな。 一応、Mainシートの上に新しいシートを作って、 ---- class Game_Player alias :orig_passable? :passable? def passable?(x, y, d) $game_switches[50] = orig_passable?(x, y, d) return $game_switches[50] end end ---- でやってみてくれるか? これでだめとなると、そっちのスクリプト見ないとなんとも言えないな。 >>304 おめでと。
|
- RPGツクールXP/VX初心者質問スレ 8
707 :700[sage]:2009/02/08(日) 15:54:29 ID:jee5DlX7 - >>706
>逆にすることは可能でしょうか? $game_switches[50] = orig_passable?(x, y, d) を $game_switches[50] = (not orig_passable?(x, y, d)) にすればいい。 >これを追加することで重くなったりするのでしょうか? これによる負荷は無視していいですよ。 理由は以下の通り。 ・この関数は毎フレーム呼ばれるものではなく、 プレイヤーが移動する為に十字キーを押した時だけに呼ばれます。 (一秒毎に2マス移動してるとしたら、一秒毎に2回しか呼ばれません) ・呼ばれた時も、無視できる程度しか処理数は増えません。 (関数CALLによるスタック処理、変数の代入・参照がそれぞれ一回分という程度ですから、 イベントでスイッチ50をオンするよりもずーーーっと負荷は小さいですよ) 問題があるとすれば、壁判定イベントを必要としないマップでも実行されるくらいですが、 実行されても上記のとおり無視できる程度しか処理数は増えてませんから、安心して下さい。
|
- RPGツクールXP/VX初心者質問スレ 8
708 :707[sage]:2009/02/08(日) 15:56:42 ID:jee5DlX7 - ごめん間違えた。
$game_switches[50] = orig_passable?(x, y, d) return $game_switches[50] を $game_switches[50] = (not orig_passable?(x, y, d)) return (not $game_switches[50]) として下さい。
|
- RPGツクールXP/VX初心者質問スレ 8
709 :707[sage]:2009/02/08(日) 16:07:28 ID:jee5DlX7 - ついでに一言。
708修正前の方が、ものすっごーーーく微妙にだけど、処理軽いです。
|