PuyoPuyoChap4
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[目次へもどる>PuyoPuyo]]
* GameMain [#n376831e]
#contents
シーンができたので今度はシーンを管理する機構,すなわちゲ...
** シーンの追加考察 [#d737411b]
まずシーンについてだが,
シーンの切り替えについてはいくつかのパターンがある.
+ change
+ push
+ jump
changeは「タイトル画面→ゲーム画面」のように単純にシーンが...
pushは「マップ画面→メニュー画面→マップ画面」のようにもと...
jumpは「リセットボタン」のようにとにかくそのシーンへぶっ...
これらを実現するデータ構造としてはスタックが適切である.
changeならスタックトップのシーンをポップして新たなシーン...
pushなら単純にシーンをプッシュして,戻るときはポップする.
jumpはスタックを全部捨てれば良い.
今回はこれらの実装はおいおいやればどうにでもなるのでpush...
どうせ当分ScenePuyoPuyoしかないので問題ない.
** GameMainの定義 [#u2ae0639]
ゲームのメイン処理は複数存在しないので,クラスではなくモ...
#sh(ruby){{
module GameMain
@scene = []
def self.main
scene_push(ScenePuyoPuyo)
StarRuby::Game.run(320, 240, :title => "PuyoPuyo", :f...
break if @scene.empty?
@scene.last.main
end
end
def self.game
StarRuby::Game.current
end
def self.screen
StarRuby::Game.current.screen
end
def self.scene_push(scene)
@scene.push scene.new
@scene.last.start
end
def self.scene_pop
@scene.pop.terminate
end
end
if __FILE__ == "game_main.rb"
require "./require.rb"
GameMain.main
end
}}
上記の説明のとおりシーンはスタックで管理すれば良いので@sc...
「main」メソッドではStarRubyを使ってゲームウインドウを作...
このループ内でスタックトップのシーンのmainメソッドを呼び...
シーンスタックが空になればゲームが終了する仕組みになって...
以後,テストプレイはgame_main.rbをトップレベルで実行する...
$ ruby game_main.rb
終了行:
[[目次へもどる>PuyoPuyo]]
* GameMain [#n376831e]
#contents
シーンができたので今度はシーンを管理する機構,すなわちゲ...
** シーンの追加考察 [#d737411b]
まずシーンについてだが,
シーンの切り替えについてはいくつかのパターンがある.
+ change
+ push
+ jump
changeは「タイトル画面→ゲーム画面」のように単純にシーンが...
pushは「マップ画面→メニュー画面→マップ画面」のようにもと...
jumpは「リセットボタン」のようにとにかくそのシーンへぶっ...
これらを実現するデータ構造としてはスタックが適切である.
changeならスタックトップのシーンをポップして新たなシーン...
pushなら単純にシーンをプッシュして,戻るときはポップする.
jumpはスタックを全部捨てれば良い.
今回はこれらの実装はおいおいやればどうにでもなるのでpush...
どうせ当分ScenePuyoPuyoしかないので問題ない.
** GameMainの定義 [#u2ae0639]
ゲームのメイン処理は複数存在しないので,クラスではなくモ...
#sh(ruby){{
module GameMain
@scene = []
def self.main
scene_push(ScenePuyoPuyo)
StarRuby::Game.run(320, 240, :title => "PuyoPuyo", :f...
break if @scene.empty?
@scene.last.main
end
end
def self.game
StarRuby::Game.current
end
def self.screen
StarRuby::Game.current.screen
end
def self.scene_push(scene)
@scene.push scene.new
@scene.last.start
end
def self.scene_pop
@scene.pop.terminate
end
end
if __FILE__ == "game_main.rb"
require "./require.rb"
GameMain.main
end
}}
上記の説明のとおりシーンはスタックで管理すれば良いので@sc...
「main」メソッドではStarRubyを使ってゲームウインドウを作...
このループ内でスタックトップのシーンのmainメソッドを呼び...
シーンスタックが空になればゲームが終了する仕組みになって...
以後,テストプレイはgame_main.rbをトップレベルで実行する...
$ ruby game_main.rb
ページ名: