while文2
投稿者: rdjk5242 投稿日:2012/02/09 17:33
≪Let'sダンススクリプト
|
while文1≫
下へ移動の文と右へ移動の文は、違うやり方をしています。
違うといっても、
a=getPlayerPosY()
が、
setVariable("a",getPlayerPosX())
に変わっただけなんですけどね。
下へ移動の文
右に移動の文
なお、なぜ*15や*11をしているかというと、
Rmakeのマップ1マスは縦が15ピクセルで横が11ピクセルなので、
1マス分動かすために*15や*11をしているのです
ツイート
違うといっても、
a=getPlayerPosY()
が、
setVariable("a",getPlayerPosX())
に変わっただけなんですけどね。
下へ移動の文
a = getPlayerPosY() #aにプレイヤーのY軸を入れます speak("カメラが下方向に移動します") while a < getPlayerPosY() + 128 * 15 # これは、プレイヤーのY軸+128*(*とは×のこと)15がaよりも大きいとき以下を表示 moveCamera(true, getPlayerPosX(), a) a = a + 0.1 #aの値を少しずつ増加させます end a=getPlayerPosY() + 128 * 15 #aを現在のカメラの位置にします speak("カメラの位置を戻します") while a > getPlayerPosY() #プレイヤーのY軸+128*(*とは×のこと)15がaよりも小さい時以下を表示 moveCamera(true, getPlayerPosX(), a) a = a - 0.8 #aの値を少しずつ減少させます end moveCamera(false) #カメラを元に戻します
右に移動の文
setVariable("a",getPlayerPosX()) #aにプレイヤーのX座標を入れます speak("カメラが右方向に移動します") while getVariable("a")<getPlayerPosX()+128*11 #プレイヤーのX軸+128*(*とは×のこと)11がaよりも大きいとき以下を表示 moveCamera(true,getVariable("a") , getPlayerPosY()) #カメラ移動 setVariable("a",getVariable("a")+0.1) #aの値を少しずつ増加させます end #以下略 speak("カメラの位置を戻します") setVariable("a",getPlayerPosX()+128*11) while getVariable("a")>getPlayerPosX() moveCamera(true, getVariable("a"), getPlayerPosY()) setVariable("a",getVariable("a")-0.8) end moveCamera(false) #ここからは、カメラ移動ではありません case speakWithSelect(8,"42","43","35","33","44","41","36","38", "答えは?") when 0 speak("正解です!") openActivityFeedWindow("私は正解しました。") speak("これで終わります。\n") goEnding() when 1 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は43と答えました。") subPlayerHP(999) when 2 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は35と答えました。") subPlayerHP(999) when 3 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は33と答えました。") subPlayerHP(999) when 4 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は44と答えました。") subPlayerHP(999) when 5 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は41と答えました。") subPlayerHP(999) when 6 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は36と答えました。") subPlayerHP(999) when 7 speak("ブッブー\n\nハズレ!") openActivityFeedWindow("私は38と答えました。") subPlayerHP(999) end
なお、なぜ*15や*11をしているかというと、
Rmakeのマップ1マスは縦が15ピクセルで横が11ピクセルなので、
1マス分動かすために*15や*11をしているのです
コメントする
コメントするには、ログインする必要があります。
コメント一覧
>>rurun9さん
今wikiを見直したら、1マス(x,y)=(32,32)でした。
たぶん縦15横11をマスと間違えていたようです。
これで画面2つ分動きますかね(^^ゞ
>>aoihikawaさん
どっちがいいですかね?
waitTimeを入れると、
でもこうするとフリーズしているのか、止まってしまいます。
今wikiを見直したら、1マス(x,y)=(32,32)でした。
たぶん縦15横11をマスと間違えていたようです。
while a < getPlayerPosY()+32*30
これで画面2つ分動きますかね(^^ゞ
>>aoihikawaさん
- 0.1より小さいのにする(0.05など)
- waitTime関数をいれる
どっちがいいですかね?
waitTimeを入れると、
while a < getPlayerPosY()+32*30 moveCamera(true, getPlayerPosX(), a) a = a + 0.1 waitTime(10) end
でもこうするとフリーズしているのか、止まってしまいます。
こう書き直したら、本当にゆ~っくり動きました。
でも
a = a + 1
と
waitTime(10)
調整が難しいので0.1を0.1より小さいのにすることにします。