CoRでYahooJapanIDに対応したので

投稿者:             mini ティラミス 投稿日:2013/08/09 08:33

さっそくコピペ。

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
  i = 1
  speak("ティックよ!どっかにでかけるのじゃ!")
  speak("えーめんどくさい。")
  speak("いったら1000円やる。")
  speak("いくいく!")
  speak("6月",i.to_s,"日の朝。")
  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("今日は疲れた。")
    speak("1000円貰った!")
  end
  
  game.change_project "start_menu"



CoRってどのゲームでもスクリプト見れるからいいよね。
勉強しておこう。

ikosamiさんが訂正していただきました。
ありがとうございます。

ID対応したから公開します。と思ったがアプリ入手ってわけがわからなくなった^^;

コメントする

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

コメント一覧

Icon mini ronto(投稿日:2013/08/10 21:23, 履歴)
YahooJapanIDに対応したってよ!
やったね!
Material 7186 1 mini ikosami(投稿日:2013/08/09 11:21, 履歴)
試してみたら、エラーで動かなかったので
動くようにしておきました。


問題のある部分は、

①: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

             mini ティラミス(投稿日:2013/08/09 20:30, 履歴)
訂正ありがとうございます^^

別の話になりますが、ikosamiさんってドラクエ6やってませんか?
Material 7186 1 mini ikosami(投稿日:2013/08/09 21:15, 履歴)
ドラクエは、1,2,3以外全部やってますよ。
無くしたり売ったりしてしまった可能性もありますが・・・
             mini ティラミス(投稿日:2013/08/10 07:29, 履歴)
ぼくは5をちょっと、6をがっつり(w)やりました。
はぐれメタルとランプのまおうがぜんぜん仲間にならない;;
Material 7186 1 mini ikosami(投稿日:2013/08/10 10:06, 履歴)
僕は5をがっつりやってます(^^;)
地形を覚えすぎて、半日でオープニングからミルドラースまで
行けてしまうほどに・・・

一番最初にやったドラクエが5ですね。


6は・・・
転職が面倒でボス倒して終わりって感じでした・・・

             mini ティラミス(投稿日:2013/08/10 11:23, 履歴)
6は職業などもほとんどコンプして、ラスボスも倒しました^^
今は、こんなかんじです
^^
Material 7186 1 mini ikosami(投稿日:2013/08/10 14:27, 履歴)
消えたんですか(^^;