ポンド オブ プッシュ
投稿者: 池ちゃん(翡翠ヶ池) 投稿日:2013/01/18 17:45
えーと、とりあえずこれと開始スクリプトを載せておきますね
説明は後日追加しまーす
ツイート
def pce() return "playerCharacterEvent" end setFlag("k", true) setVariable("壁", createArray()) kabe = -1 while kabe != 31 getVariable("壁")[kabe] = createArray() kabe = kabe + 1 end def km(a,b,c) #cが1ならそこに壁を作る0なら壁を無くす-1ならイベントを作る case c when 1 getVariable("壁")[a][b] = 1 when 0 getVariable("壁")[a][b] = 0 else getVariable("壁")[a][b] = c end end def kg(a,b) c = true if getVariable("壁")[a][b] == 1 c = false end return c end def eve(a,b) g = getVariable("壁")[a][b] case g when -1 km(5,5,0) ; km(2,8,0) ; setFlag("k", false) ; playSound(16423) when -2 speak("テストありがとうございました^^") openActivityFeedWindow("テストありがとうございました^^") goEnding() end end a = 0 b = 0 while a != 12 while b != 16 km(b,a,1) b = b + 1 end b = 0 a = a + 1 end a = 0 while a != 16 km(-1,a,1) km(a,-1,1) a = a + 1 end a = 0 while a != 16 km(16,a,1) km(a,12,1) a = a + 1 end #木 km(1,0,1) ; km(1,1,1) ; km(3,1,1) ; km(5,1,1) ; km(7,2,1) ; km(8,2,1) ; km(9,2,1) ; km(10,2,1) ; km(13,2,1) ; km(2,3,1) ; km(3,3,1) ; km(4,3,1) ; km(5,3,1) ; km(7,3,1) ; km(8,3,1) ; km(13,3,1) ; km(5,4,1) ; km(6,4,1) ; km(11,4,1) ; km(13,4,1) ; km(11,5,1) ; km(13,5,1) ; km(14,5,1) ; km(4,6,1) ; km(5,6,1) ; km(6,6,1) ; km(7,6,1) ; km(8,6,1) ; km(10,6,1) ; km(11,6,1) ; km(14,6,1) ; km(4,7,1) ; km(10,7,1) ; km(14,7,1) ; km(1,8,1) ; km(3,8,1) ; km(4,8,1) ; km(6,8,1) ; km(9,8,1) ; km(10,8,1) ; km(11,8,1) ; km(1,9,1) ; km(3,9,1) ; km(7,9,1) ; km(8,9,1) ; km(9,9,1) ; km(10,9,1) ; km(11,9,1) ; km(12,9,1) ; km(13,9,1) ; km(1,10,1) ; km(9,10,1) ; km(10,10,1) ; km(1,11,1) ; km(2,11,1) ; km(3,11,1) ; km(4,11,1) ; km(5,11,1) ; km(7,0,1) ; km(7,1,1) ; #壁 km(0,0,1) ;km(5,5,1) ; km(2,8,1) ; #イベント km(6,3,-1) ; km(14,10,-2) ; #追加 km(6,9,1) ; km(3,1,0) ; km(5,1,0) ; km(5,2,1) ; km(7,4,1) ; km(11,10,1) ; #----------------------------- setVariable("像1posX", 2) setVariable("像1posY", 5) def p() y = getVariable("像1posX") ; x = getVariable("像1posY") ; if !getFlag("くぼみに移動したか") case getEventDirection("playerCharacterEvent") when getDownDirection() case speakWithSelect(2, "押す", "引く", "ブロックがある・・・") when 0 setVariable("像1posY", getVariable("像1posY") + 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") - 1) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(x,y) #|| !kg(z,w) setVariable("像1posY", getVariable("像1posY") - 1 ) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") - 1) speak("") end when 1 setVariable("像1posY", getVariable("像1posY") - 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") - 1) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(z,w) setVariable("像1posY", getVariable("像1posY") + 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") - 1) speak("") end end when getUpDirection() case speakWithSelect(2, "押す", "引く", "ブロックがある・・・") when 0 setVariable("像1posY", getVariable("像1posY") - 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") + 1) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(x,y) #|| !kg(z,w) setVariable("像1posY", getVariable("像1posY") + 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") + 1) speak("") end when 1 setVariable("像1posY", getVariable("像1posY") + 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") + 1) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(z,w) setVariable("像1posY", getVariable("像1posY") - 1) setVariable("自機キャラ座標X", getVariable("像1posX")) setVariable("自機キャラ座標Y", getVariable("像1posY") + 1) speak("") end end when getRightDirection() case speakWithSelect(2, "押す", "引く", "ブロックがある・・・") when 0 setVariable("像1posX", getVariable("像1posX") + 1) setVariable("自機キャラ座標X", getVariable("像1posX") - 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(x,y) #|| !kg(z,w) setVariable("像1posX", getVariable("像1posX") - 1) setVariable("自機キャラ座標X", getVariable("像1posX") - 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) speak("") end when 1 setVariable("像1posX", getVariable("像1posX") - 1) setVariable("自機キャラ座標X", getVariable("像1posX") - 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(z,w) setVariable("像1posX", getVariable("像1posX") + 1) setVariable("自機キャラ座標X", getVariable("像1posX") - 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) speak("") end end when getLeftDirection() case speakWithSelect(2, "押す", "引く", "ブロックがある・・・") when 0 setVariable("像1posX", getVariable("像1posX") - 1) setVariable("自機キャラ座標X", getVariable("像1posX") + 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(x,y) #|| !kg(z,w) setVariable("像1posX", getVariable("像1posX") + 1) setVariable("自機キャラ座標X", getVariable("像1posX") + 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) speak("") end when 1 setVariable("像1posX", getVariable("像1posX") + 1) setVariable("自機キャラ座標X", getVariable("像1posX") + 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) x = getVariable("像1posX") ; y = getVariable("像1posY") ; z = getVariable("自機キャラ座標X") ; w = getVariable("自機キャラ座標Y") ; if !kg(z,w) setVariable("像1posX", getVariable("像1posX") - 1) setVariable("自機キャラ座標X", getVariable("像1posX") + 1) setVariable("自機キャラ座標Y", getVariable("像1posY")) speak("") end end end #像の位置を移動 setEventTarget("event0", getVariable("像1posX"), getVariable("像1posY")) setEventTarget("playerCharacterEvent", getVariable("自機キャラ座標X"), getVariable("自機キャラ座標Y")) runEventMove() warpEvent("event0", getVariable("像1posX"), getVariable("像1posY")) warpEvent(pce(), getVariable("自機キャラ座標X"), getVariable("自機キャラ座標Y")) eve(getVariable("像1posX"),getVariable("像1posY")) else end end def r() #このifは「移動目的先でのイベント発生」に関係します if !getFlag("くぼみに移動したか") case speakWithSelect(2,"はい","いいえ", "像を元の位置に戻しますか?") when 0 setEventDirection("event1", getLeftDirection()) #像1のX,Y座標の変数を元の数値に setVariable("像1posX", 2) setVariable("像1posY", 5) #像1を元の位置に移動 setEventTarget("event0", 2, 5) runEventMove() setEventDirection("event1", getDownDirection()) warpEvent("event0", getVariable("像1posX"), getVariable("像1posY")) when 1 end else speak("スイッチはもう反応しないようだ") end end playBGM(157600)
説明は後日追加しまーす
コメントする
コメントするには、ログインする必要があります。
・km(5,2,1); km(7,4,1); km(11,10,1)が足りない。
・km(9,8,1)の「,」が「.」になっている。
それとスクリプトを見て気づいたことをいくつか
・「km(b,a,1)」→「km(b,a,0)」のような気が(すでに直しているかもしれませんが)。
・「getVariable("壁")[k][kk] = createArray()」の部分の繰り返しがいらないような。
それと余計なことかもしれませんが、p()を
とするともうちょっとすっきりするかもです。
mx → m_x、my → m_yに変更です。
以下の部分を直しました
>・「getVariable("壁")[k][kk] = createArray()」の部分の繰り返しがいらないような。
・・・あ
>それと余計なことかもしれませんが、p()を (中略)とするともうちょっとすっきりするかもです。
おぉ、かなり縮小された。
むむむ?
>myが青くなっているようなので、mx → m_x、my → m_yに変更です。
おk