コメント

このコメントは、CoRでYahooJapanIDに対応し...へのコメントです。

コメントの内容

Material 7186 1 mini ikosami(投稿日:2013/08/09 11:08/09/13)
試してみたら、エラーで動かなかったので
動くようにしておきました。


問題のある部分は、

①:start_sceneが二つある
ノベルでいうと、同じチャプター名のものが
2つある状態です。これだと移動できません。

②なぜか、2回画像を読み込んでいる
2度読み込んでも何も起りません。
一度読み込んだものが使ったからと言って
消えるわけではないですので。

③game.on_init doが3つある。
最初の一つでいいです。3つの内容を一か所にまとめてください。

④最初のシーンが画像を表示して終わり
画像を読み込んでいないので、そもそも表示も出来ないのですが、
シーンの内部に、次のシーンへの移動がないと
そこで止まってゲームが終わってしまいます。
さらに、画像やテキスト、変数はシーンが変わると全て消えます。
なので、画像を表示するだけのシーンは意味がないです。

⑤endの数が多い
今日は疲れた。 の上に2つendがありますが
1つでいいです。

⑥選択を選ぶ前にikiの判定をしている
text.event :on_click do |event|などは
画像の表示のように、処理が終わったら通過していきます。
なので、どれを選んだかの判定の前に
ikiの判定が終わっています。

⑦変数はシーン変更したら消える
iki = true
scene_change :start_scene
と書いていますが、これでは消えてしまいます・・・
講座の方にリンクがありますが、
http://blog.rmake.jp/ikosami/4608
を使ってください。



だいたいそんな感じです。
でもテストできないのにここまでできるのは
結構凄いと思います。


game.loading do |loader|
  loader.add :window, :system => "window"
  loader.add :gui_item, :system => "gui_item"
end


#変数
Variable = {}
def setVariable(a, b)
  Variable[a] = b
end

def getVariable(a)
  Variable[a]
end


game.on_init do
  set_window_image :window
  set_gui_image :gui_item
  
  speak("さあ!冒険に出かけるぞ!")
    speak("どこへ行く?")
  scene_change :start_scene
end




scene :start_scene do |scene|
  #scene.add :image, :template => :human, :center_position => [16, 24]
  
  text = scene.text :position => [300, 410]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("行く場所は?")
  
  text = scene.text :position => [50, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("となりの家")
  text.event :on_click do |event|
    speak("隣の家に行った。")
    speak("とても楽しい1日だった。")
    setVariable(:iki, true)
    scene_change :scene2
  end
  text = scene.text :position => [250, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("エデンの森")
  text.event :on_click do |event|
    speak("エデンの森へ出かけよう")
    speak("どこにあるかわからなかった。")
    setVariable(:iki, true)
    scene_change :scene2
  end
  text = scene.text :position => [450, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("5年前")
  text.event :on_click do |event|
    speak("5年前へ出かけよう")
    speak("無理。")
    setVariable(:iki, true)
    scene_change :scene2
  end
  text = scene.text :position => [650, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("戻る")
  text.event :on_click do |event|
    speak("戻った。")
    setVariable(:iki, false)
    scene_change :scene2
  end
  

end


scene :scene2 do |scene|
  iki = getVariable(:iki)
  if iki
    speak("今日は疲れた。")
    game.change_project "start_menu"
  else
    scene_change :start_scene
  end
end

コメントの内容(一番最初の投稿)

Material 7186 1 mini ikosami(投稿日:2013/08/09 11:08/09/13)
試してみたら、エラーで動かなかったので
動くようにしておきました。


問題のある部分は、

①:start_sceneが二つある
ノベルでいうと、同じチャプター名のものが
2つある状態です。これだと移動できません。

②なぜか、2回画像を読み込んでいる
2度読み込んでも何も起りません。
一度読み込んだものが使ったからと言って
消えるわけではないですので。

③game.on_init doが3つある。
最初の一つでいいです。3つの内容を一か所にまとめてください。

④最初のシーンが画像を表示して終わり
画像を読み込んでいないので、そもそも表示も出来ないのですが、
シーンの内部に、次のシーンへの移動がないと
そこで止まってゲームが終わってしまいます。
さらに、画像やテキスト、変数はシーンが変わると全て消えます。
なので、画像を表示するだけのシーンは意味がないです。

⑤endの数が多い
今日は疲れた。 の上に2つendがありますが
1つでいいです。

⑥選択を選ぶ前にikiの判定をしている
text.event :on_click do |event|などは
画像の表示のように、処理が終わったら通過していきます。
なので、どれを選んだかの判定の前に
ikiの判定が終わっています。

⑦変数はシーン変更したら消える
iki = true
scene_change :start_scene
と書いていますが、これでは消えてしまいます・・・
講座の方にリンクがありますが、
http://blog.rmake.jp/ikosami/4608
を使ってください。



だいたいそんな感じです。
でもテストできないのにここまでできるのは
結構凄いと思います。


game.loading do |loader|
  loader.add :window, :system => "window"
  loader.add :gui_item, :system => "gui_item"
end


#変数
Variable = {}
def setVariable(a, b)
  Variable[a] = b
end

def getVariable(a)
  Variable[a]
end


game.on_init do
  set_window_image :window
  set_gui_image :gui_item
  
  speak("さあ!冒険に出かけるぞ!")
    speak("どこへ行く?")
  scene_change :start_scene
end




scene :start_scene do |scene|
  #scene.add :image, :template => :human, :center_position => [16, 24]
  
  text = scene.text :position => [300, 410]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("行く場所は?")
  
  text = scene.text :position => [50, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("となりの家")
  text.event :on_click do |event|
    speak("隣の家に行った。")
    speak("とても楽しい1日だった。")
    setVariable(:iki, true)
    scene_change :scene2
  end
  text = scene.text :position => [250, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("エデンの森")
  text.event :on_click do |event|
    speak("エデンの森へ出かけよう")
    speak("どこにあるかわからなかった。")
    setVariable(:iki, true)
    scene_change :scene2
  end
  text = scene.text :position => [450, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("5年前")
  text.event :on_click do |event|
    speak("5年前へ出かけよう")
    speak("無理。")
    setVariable(:iki, true)
    scene_change :scene2
  end
  text = scene.text :position => [650, 100]
  text.set_text_area_size 250, 200
  text.set_font_point_size 32
  text.set_text ("戻る")
  text.event :on_click do |event|
    speak("戻った。")
    setVariable(:iki, false)
    scene_change :scene2
  end
  

end


scene :scene2 do |scene|
  iki = getVariable(:iki)
  if iki
    speak("今日は疲れた。")
    game.change_project "start_menu"
  else
    scene_change :start_scene
  end
end