実験 800x450 公開中

選択肢・改

投稿者:akasata 投稿日時: 2013/08/03 16:27:30
本家Rmakeのように、シーン遷移を必要としない選択肢関数です。
wait_time関数を応用しています。

result = show_select_window(scene, "選択してください", ["進む","やめる"])

case result
when "進む"
  speak("進むを選びました")
when "やめる"
  speak("やめるを選びました")
else
  speak("ここには来ないはず")
end

閲覧: 142 評価: 0
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
あなたはまだ評価していません。
game.loading do |loader| loader.add :window, :system => "window" loader.add :gui_item, :system => "gui_item" end game.on_init do set_window_image :window set_gui_image :gui_item scene_change :start_scene end scene :start_scene do |scene| scene.on_init do speak("選択肢のテストです") result = show_select_window(scene, "選択してください", ["進む","やめる"]) case result when "進む" speak("進むを選びました") when "やめる" speak("やめるを選びました") else speak("ここには来ないはず") end # ゲーム終了 speak("選択肢のテストを終了します") game.change_project "start_menu" end end # 以下、選択肢を表示する関数 # この関数をコピペして使ってください def show_select_window(scene, message, selecteds = []) result = -1 loop_flag = true sprites = [] if selecteds.length == 0 speak("選択肢がありません") return -1 elsif selecteds.length == 1 points = [[350, 100]] elsif selecteds.length == 2 points = [[350, 120], [350, 240]] elsif selecteds.length == 3 points = [[350, 100], [350, 200], [350, 300]] else points = [[350, 80], [350, 160], [350, 240], [350, 320]] end # メッセージの表示 text = scene.text :position => [200, 410] text.set_text_area_size 500, 300 text.set_font_point_size 32 text.set_text(message) sprites << text # 選択肢の表示 index = 0 selecteds.each do |item| text = scene.text :position => points[index] text.set_text_area_size 240, 70 text.set_font_point_size 32 text.set_text(item) sprites << text text.event :on_click do |event| # 結果をセット result = item # 足止め処理を終了する loop_flag = false # 選択肢を表示しているスプライトを削除 sprites.each do |sprite| sprite.delete end end index += 1 end # 選択肢が選択されるまで処理を足止め while loop_flag # wait_time関数を呼ばないとビジーループになってしまう wait_time(50) end result end
コード一覧
  • start.rb

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

コメント一覧
お知らせ

2014/03/04 ver. 0.1.39 を公開しました!
・0.1.36でWindowsで起動しない問題を修正しました
(Android版はバージョン番号のみの変更です。)

2014/03/04 ver. 0.1.36 を公開しました!
・アプリケーションアイコンを変更しました
・セーブ・ロードを繰り返すとアプリが強制終了する問題を修正しました
・他、重大なバグを修正しました

ダウンロードはこちらから。

2013/07/17 Code on Rmakeをα公開しました!