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より小さいのにすることにします。