カメラ移動(未解決)・・・上手くいきません!助けて下さい!(質問掲示板

投稿:    mini 19920613 投稿:2011/02/08 12:15:08(最新:2011/02/09 17:19:09)
先日、スクリプト「自由なカメラ移動」に書いてあることをやってみたのですが、上手くいきません・・・

僕の場合、プレイヤー位置から上にカメラ移動して
キャラクターが喋って、プレイヤーの元の位置に戻る

というようにしたいのです。

このリンク先では下方向に進んでから上に戻る内容ですよね。
それで、そのリンク先の下の方に、カメラが上に行く時は不等号や+、-が逆になると書かれています。
それをヒントに記号を変えてみました。


a = getPlayerPosY()
speak("カメラが下方向に移動します")
while a < getPlayerPosY() + 32 * 15
moveCamera(true, getPlayerPosX(), a)
a = a + 0.5
end

まずこのスクリプトの中のa=a+0.5
の、+を-に替えました。
そうすると上にカメラ移動ができました。

次に、カメラを戻すスクリプトを書き込みましたところ、画面が上に行ったきり戻りません。


a = getPlayerPosY() + 32 * 15
speak("カメラの位置を戻します")
while a > getPlayerPosY()
moveCamera(true, getPlayerPosX(), a)
 a = a - 0.5
end
moveCamera(false)


もちろん、0.5の前の記号も逆にしました。
「あれ、おかしいなぁ」と思い、今度は不等号を逆にしてみると、画面すら動きません。

イベントに入ると
「カメラが移動します」
「カメラの位置を戻します」
と出て、移動すらしません。

ちゃんと両方ともendで閉じているのですが、なにが違うのでしょうか・・・

解決お願い致します!!!

コメントする

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

コメント一覧

Nyan mini rurun9(投稿日:2011/02/09 17:19, 履歴)
画面上の座標は、左上が原点(0,0)で右下にいくにつれて数値が大きくなってます
丁度、算数のグラフとは縦方向y軸が逆に向いた状態です。

なので画面を上にずらす、なら現在のカメラ位置つまりgetPlayerPos(y)よりも上、という事は数値が小さくなる筈
#カメラ座標の縦位置をyからyyに移動させます

y=getPlayerPosY(); yy=y-32*15
while yy<y
 moveCamera(true, getPlayerPosX(), y)
y=y-0.2
end

speak("ミタナー")

yy=getPlayerPos(y); y=yy-32*15
while y<yy
 moveCamera(true, getPlayerPosX(), y)
y=y+0.2
end
moveCamera(false)