実験 800x450 公開中

選択肢関数改良実験Ver1.15

投稿者:ikosami 投稿日時: 2013/07/25 12:46:00
Ver1.15
選択肢に背景
Ver1.10
別途のシーンを作ることなく
選択結果を表示
Ver1.00
akasataさんが制作
閲覧: 218 評価: 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" loader.add :bac, 34 loader.add :select_bac, 83#使う場合は、ここに240×60の選択肢背景画像を入れてください end game.on_init do set_window_image :window set_gui_image :gui_item scene_change :s1 end # 選択肢の結果を保存する変数 select_result = {} ### setVariable、getVariable関数↓↓↓ Variable = {} def setVariable(a, b) Variable[a] = b end def getVariable(a) Variable[a] end ### setVariable、getVariable関数↑↑↑ def aa(a) game.loading do |loader| loader.add :bac, a end sprite_template :bac do |st| st.texture :bac st.src_size 800,450 st.dest_size 800,450 end end # プロローグ scene :s1 do |scene| aa(34)#うまく動作していない scene.sprite :bac => :bac scene.on_init do setVariable(:a, "要望があれば、コメントにどうぞ") speak("選択肢関数の表示テスト") scene_change :start_scene end end scene :start_scene do |scene| scene.add :image, :texture => :bac, :align => :fullscreen scene.on_init do show_select_window(scene,:select_result_scene,select_result, "選択してください", ["進む","やめる"]) def sa(i)#def で囲んで無理やりここに戻ってこれるようにする case i when "進む" scene_change :s01 when "やめる" speak("プレーありがとうございました") speak(getVariable(:a)) game.change_project "start_menu" #ゲーム終了 else speak("エラー") end end end end # 選択肢を表示するシーン scene :s01 do |scene| scene.add :image, :texture => :bac, :align => :fullscreen scene.on_init do show_select_window(scene,:select_result_scene,select_result, "選択してください", ["もどる","弱点をみる"]) def sa(i) case i when "もどる" scene_change :start_scene when "弱点をみる" speak("見ての通り選択肢がを選んだ後も消えない") scene_change :s01 else speak("エラー") end end end end # 以下、選択肢を表示する関数 def show_select_window(scene, scene_name, select_result, message, selecteds = []) 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 # メッセージの表示 scene.add :image, :texture =>:select_bac, :position => [-100,405], :scale => [10.0, 1.0] text = scene.text :position => [200, 410] text.set_text_area_size 500, 300 text.set_font_point_size 32 text.set_text(message) # 選択肢の表示 index = 0 selecteds.each do |item| scene.add :image, :texture =>:select_bac, :position => [points[index][0]-10,points[index][1]-10] text = scene.text :position => points[index] text.set_text_area_size 240, 70 text.set_font_point_size 32 text.set_text(item) text.event :on_click do |event| select_result[:result] = item sa(item) #scene_change :scene_name end index += 1 end 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をα公開しました!