トップページ > 同人ゲーム > 2009年02月08日 > jee5DlX7

書き込み順位&時間帯一覧

81 位/1749 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000020212100000008



使用した名前一覧書き込んだスレッド一覧
名無しさん@お腹いっぱい。
700
707
RPGツクールXP/VX初心者質問スレ 8

書き込みレス一覧

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修正前の方が、ものすっごーーーく微妙にだけど、処理軽いです。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。