一方通行のドア(質問掲示板

投稿: Material 185033 3 mini 光楼(114) 投稿:2013/03/16 09:07:16(最新:2013/03/17 10:06:17)
一方通行のドアを作ろうとして
x = getPlayerPosX()
y = getPlayerPosY()
if x == 13 && y == 8
#ドアの動作
else
speak("そこからこのドアは開けられません!!")
end

こうしてみましたが、できませんでした。
何がいけないんでしょうか?

コメントする

コメントするには、ログインする必要があります。

コメント一覧

            mini ネコム(投稿日:2013/03/16 09:41, 履歴)
できません...どういう事でしょうか。
エラーコードを吹いたのでしょうか、
目的の動作をしなかったのでしょうか。
Material 185033 3 mini 光楼(114)(投稿日:2013/03/16 09:50, 履歴)
目的の動作をしませんでした。
Xが13 Yが8の座標から調べても、そこからこのドアは開けられません!!となってしまいます。
あ、2DアクションRPGです。
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/03/16 13:37, 履歴)
たぶん「Xが13 Yが8」の所から調べていないのが原因かと。

2DRPGの最高のx,y座標はx座標は512、y座標は384(ピクセル)です
32x32が1マス分です。

x = getPlayerPosX()
y = getPlayerPosY()
if x == 13 * 32 && y == 8 * 32
#ドアの動作
else
speak("そこからこのドアは開けられません!!")
end



そもそもgetPlayerPosX()、getPlayerPosY()は画面上でのプレイヤーの位置を返す関数なのでネコムさんの言うとおりgetEventDirection関数を使いましょう。

もう解決してるみたいだけど一応。
Material 185033 3 mini 光楼(114)(投稿日:2013/03/17 10:06, 履歴)
なるほど…だから出来なかったのか。
有難うございました!!
Material 185033 3 mini 光楼(114)(投稿日:2013/03/16 11:31, 履歴)
出来ました!
#プレイヤー向きに従ってドアの動作を変更
  case getEventDirection("playerCharacterEvent")
    when getDownDirection() #プレイヤーが下を向いている時
       speak("そこからこのドアは開けられません!!")
    when getUpDirection() #プレイヤーが上を向いている時
       speak("そこからこのドアは開けられません!!")
    when getRightDirection() #プレイヤーが右を向いている時
       speak("そこからこのドアは開けられません!!")
    when getLeftDirection() #プレイヤーが左を向いている時
       speak("aaaaaaaaaaaa")  #ドアの動作確認
  end 

ありがとうございました!!
            mini ネコム(投稿日:2013/03/16 10:34, 履歴)
getEventDirection関数を使うのが良いかと思います。