「主人公の現在位置を取得する」の編集履歴(バックアップ)一覧はこちら
「主人公の現在位置を取得する」(2014/10/15 (水) 11:41:48) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&tags()
&sizex(3){引用元:[[ツクール総合 初心者質問スレ Lv.3>http://jbbs.shitaraba.net/bbs/read.cgi/game/49104/1356569353/]]}
&update(format=Y-m-d)
----
#divclass(name){63 :名無しさん@お腹いっぱい。:2013/01/29(火) 11:48:39 ID:JhOaxv2c}
物凄く初歩的な質問で申し訳ありません。VXAceです。
主人公の現在位置はどうやったら取得できるのでしょうか?
変数→ゲームデータ→プレイヤー→マップX,マップY
これは間違ってるんでしょうか…まったくうまくいきません;;
これを 代入してこの数値から加算減算して任意の位置にイベントを移動させたいのですが
プレイしてみると移動させたイベントが画面の右端や左端の見えない位置まで
移動してしまいます。
ググってもでてこないのでおそらく質問するのすら恥ずかしいレベルの初歩的なことかと
思いますが、ご教授願えますと助かります…。
#divclass(name){65 :名無しさん@お腹いっぱい。:2013/01/29(火) 12:29:56 ID:Bo/DkxyA}
&nowiki(){>>}63
・想定している数字が表示されているか、メッセージウィンドウに\v[変数ID]で表示してみる。
・加減算が間違っていないか、もう一度よく確かめる。
・マップX,Yと画面X,Yを勘違いしていないか確かめる。
少なくとも、試した限りプレイヤーのマップX,マップYで現在の位置情報が入ってるみたいだけども。
それでも解決しないなら、そのイベントの加減算の部分を貼ってもらわないとどこが悪いかは分からないね。
#divclass(name){67 :名無しさん@お腹いっぱい。:2013/01/29(火) 14:44:35 ID:JhOaxv2c}
&nowiki(){>>}63です。
どうもありがとうございます。どっちやねん!って言われそうですが…
テストしてみて解決したと思ったのですが、
実際のマップに組み込んでみると位置がずれまくってしまいます;
とりあえず、マップX、Yでプレイヤーキャラの位置情報は取得できました。
変数の操作:[0001:]=プレイヤーのマップX
変数の操作:[0002:]=プレイヤーのマップY
変数の操作:[0001:]-=5
変数の操作:[0002:]+=5
いべんとの位置設定:このイベント,変数[0001][0002]
こんな感じにイベントを組んでみたのですが、
イベントの設置位置などで表示がずれます。
もう少し具体的に書くべきだったのですが、たとえばランダムに動いているキャラAがいて
そのキャラAに話しかけるとキャラAがどの位置にいても(つまり主人公がどの位置にいても)
画面上の同じ場所にイベントBを表示したいのです。
上記のイベントコマンドだとイベントBの設置場所、キャラAの場所によって
イベントBが表示されなかったりずれたりします。
解決したと言いながら全然解決していませんでした;;すみません;
#divclass(name){68 :名無しさん@お腹いっぱい。:2013/01/29(火) 15:19:43 ID:.2rbc9ps}
イベントBが表示されなかったりずれている時って、プレイヤーがマップの端の方にいない?
例えば、プレイヤーの座標が(2,2)の位置にいるとして、上記の操作をしたら
イベントBが(-3,7)になってX座標がマイナスになるからだと思う
マップ自体をかなり広くして、移動可能範囲外(マップ外周の黒いタイル)を厚くすれば応急処置できそうだけど
#divclass(name){69 :名無しさん@お腹いっぱい。:2013/01/29(火) 15:47:45 ID:JhOaxv2c}
&nowiki(){>>}68
ありがとうございます。
それが、プレイヤーは広いマップのほぼ真ん中で画面でもほぼ中央あたりに
表示されているんです。
#divclass(name){70 :名無しさん@お腹いっぱい。:2013/01/29(火) 17:05:46 ID:.2rbc9ps}
>いべんとの位置設定:このイベント,変数[0001][0002]
よく見たらここじゃね?
キャラAに話しかけて上記のイベントを起こしているなら
ここでの「このイベント」はキャラAを指しているはず
ここにイベントBを置かないといけないと思う
#divclass(name){72 :名無しさん@お腹いっぱい。:2013/01/30(水) 08:57:43 ID:51uDJDdo}
&nowiki(){>>}70
キャラAに話しかけてスイッチon
↓
イベントBを並列処理で実行
上記のイベントはこのイベントBの方に組みました。
狭いマップだと上手く表示されたんですが広いマップで実行すると
変なところに表示されてしまいます。
とりあえず、ピクチャ表示でなんとかできないかとか試行錯誤してみます。
#divclass(name){73 :名無しさん@お腹いっぱい。:2013/01/31(木) 07:50:56 ID:a/DVkge6}
&nowiki(){>>}72
Aに話しかけたらイベントAで位置設定変更した方がいいと思うよ。
問題あるとしたらそこじゃない?