【講座?】CoRを触ってみる04~シーン編~【自分用メモ?】
投稿者: 光楼(114) 投稿日:2017/02/08 22:45
【講座?】CoRを触ってみる03~基礎編~【自分用メモ?】←前回
このブログを書くためにタブを調べもの用、ブログ用、ブログ画像管理用、Rmake記法確認用、ゲームへの素材追加用、プログラム用、作業BGM再生用の計7つ開いてたりする。
#このブログの情報は2017年2月8日現在のものです。今後変更になる可能性があります。
さて、難しいのは今回からです。
僕も「?」なところが多いので、間違いや「こんなことも出来るよ!」ってのがありましたら教えてください!
シーンとは
ここでいうシーンは準備編で出てきたCOREシーンとは別物ですので間違えないように。
ではまずシーンって何だろうか。CoRドキュメントを読んでみましょうか。
……だそうです。
まぁRPGなら城やダンジョンを、パズルゲームならメニューや対戦画面をそれぞれのシーンに分けて書きましょうって事です(よね?)。
さて早速シーンの定義をしましょう。
書き方は
です。
シーン名はなんでも良いと思います。漢字もOKです。
私はドキュメントに従ってstartにしました。
ドキュメントを読むとシーンは4つの要素で構成されるようです。無くても動くんですけどね。
とりあえず1つずつ見ていきましょうか。
preload
素材を読み込むところだそうです。
Rmakeではこんなことする必要はなかったのだけれどCoRではシーンごとにそのシーンで使う素材を読み込まなくてはなりません。
Aというシーンで読み込んだ素材をBというシーンで使えると思ったら大間違いです。Bのシーンでも読み込む処理を書かねばならんのです。
書き方はこう。
create
素材の読み込みが完了すると実行されるそうです。
シーンの初期化処理を記述するらしいです。
シーンの初期設定をするんでしょうね。
BGM鳴らしたり背景表示したり……。
preloadがないと実行されないと思いきやそうではないみたい。
書き方。
update
メインループさんです。ノベルでシューティングゲームやアクションゲームを作ったことがある方はわかると思います。
ゲームの実際の処理を書くところです。
render
描画をするところです。
描画処理はupdateに書いてもいいけど、分けると処理止めても描画止まらないように出来るそうです。
ただ、updateを一回上から下まで実行した後renderを実行、またupdateを実行するっぽい(要検証)
これをどこに書くかって?
シーンの中です。こんな感じに。
これだけではシーンは実行されません。開始する処理が必要です。
シーンの後にこれを書きましょう。
全部まとめてこんな感じ。
シーン変更
以下のように書く。
折り畳み
これ書いてる途中で気づいたんだけどね、sceneって書いてある行の行番号の右側見てください。
←なんか矢印ありますよね。
これクリックしてみてください。
なんと折り畳めるんです!
すっごーい! マジやばくね?
sceneだけじゃなくifとかでも中身があれば折りたためるみたいです。今日寝れるわー!
シーン編は以上。
次回→【講座?】CoRを触ってみる05~RmakeSoundクラス編~【自分用メモ?】
ツイート
このブログを書くためにタブを調べもの用、ブログ用、ブログ画像管理用、Rmake記法確認用、ゲームへの素材追加用、プログラム用、作業BGM再生用の計7つ開いてたりする。
#このブログの情報は2017年2月8日現在のものです。今後変更になる可能性があります。
さて、難しいのは今回からです。
僕も「?」なところが多いので、間違いや「こんなことも出来るよ!」ってのがありましたら教えてください!
シーンとは
ここでいうシーンは準備編で出てきたCOREシーンとは別物ですので間違えないように。
ではまずシーンって何だろうか。CoRドキュメントを読んでみましょうか。
……だそうです。
まぁRPGなら城やダンジョンを、パズルゲームならメニューや対戦画面をそれぞれのシーンに分けて書きましょうって事です(よね?)。
さて早速シーンの定義をしましょう。
書き方は
scene 'シーン名' do 処理 end
です。
シーン名はなんでも良いと思います。漢字もOKです。
私はドキュメントに従ってstartにしました。
ドキュメントを読むとシーンは4つの要素で構成されるようです。無くても動くんですけどね。
とりあえず1つずつ見ていきましょうか。
preload
素材を読み込むところだそうです。
Rmakeではこんなことする必要はなかったのだけれどCoRではシーンごとにそのシーンで使う素材を読み込まなくてはなりません。
Aというシーンで読み込んだ素材をBというシーンで使えると思ったら大間違いです。Bのシーンでも読み込む処理を書かねばならんのです。
書き方はこう。
preload do 処理 end
create
素材の読み込みが完了すると実行されるそうです。
シーンの初期化処理を記述するらしいです。
シーンの初期設定をするんでしょうね。
BGM鳴らしたり背景表示したり……。
preloadがないと実行されないと思いきやそうではないみたい。
書き方。
create do 処理 end
update
メインループさんです。ノベルでシューティングゲームやアクションゲームを作ったことがある方はわかると思います。
ゲームの実際の処理を書くところです。
update do 処理 end
render
描画をするところです。
描画処理はupdateに書いてもいいけど、分けると処理止めても描画止まらないように出来るそうです。
ただ、updateを一回上から下まで実行した後renderを実行、またupdateを実行するっぽい(要検証)
render do 処理 end
これをどこに書くかって?
シーンの中です。こんな感じに。
scene 'start' do preload do end create do end update do end render do end end
これだけではシーンは実行されません。開始する処理が必要です。
シーンの後にこれを書きましょう。
start_scene "シーン名"
全部まとめてこんな感じ。
scene 'start' do preload do end create do end update do end render do end end start_scene "start"
シーン変更
以下のように書く。
change_scene "シーン名"
折り畳み
これ書いてる途中で気づいたんだけどね、sceneって書いてある行の行番号の右側見てください。
←なんか矢印ありますよね。
これクリックしてみてください。
なんと折り畳めるんです!
すっごーい! マジやばくね?
sceneだけじゃなくifとかでも中身があれば折りたためるみたいです。今日寝れるわー!
シーン編は以上。
次回→【講座?】CoRを触ってみる05~RmakeSoundクラス編~【自分用メモ?】
コメントする
コメントするには、ログインする必要があります。
ワクワクしてきました(^ω^っ)3
これからも比較していくつもりです!