「背景を表示する」の編集履歴(バックアップ)一覧はこちら

背景を表示する」(2009/04/11 (土) 10:19:27) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

入門編・6 シューティングゲームもどきを作る *背景を表示する 今回は内容的には、画像の表示を行います。 画像の表示はスクリプト入門の基礎編でもやりましたが、Cacheという、通常使われる技術を使っていなかったので、それを使って記述します。また、背景については作るのが大変なので、デフォルトで入っている素材から Graphics/Parallaxesに入っているMountainsを転用します。 ** 画像の表示 画像の表示は、以下の記述で行います。 > @background = Sprite.new > @background.bitmap = Cache.parallax("Mountains") 今回は、変数名にbackgroundを使いましたが、これは何でも構いません。 1行目では、@backgroundという変数に割り当てて、新規の&bold(){スプライト}を作成しています。 スプライトは、画像を表示するための基本原理で、ゲーム画面中に存在する板のようなものです。 2行目で、そのスプライトに画像を割り当てています。 スプライトは、作成しただけでは透明な板です。そのスプライトのbitmapに画像を割り当てることで、絵を映した板になります。 ** 実行のタイミング では、この2行をどこに入れるべきでしょうか。 背景画像は、シーンのメインループが始まる前から存在しているべきですから、開始処理、startのところに記述しましょう。 startメソッドの部分を、このように書き換えます。 > def start > @background = Sprite.new > @background.bitmap = Cache.parallax("Mountains") > end 実行してみると、背景画像がフェードインで表示されると思います。 ** メソッドごとに分ける さて、このままでもいいのですが、この調子でstartに記述を続けていくと、startの中身がどんどん見にくくなってしまいます。 そこで、デフォルトのスクリプトの記述にならい、別名のメソッドを作り、そのメソッドの中に処理ごとに記述を小分けにします。 背景を表示するメソッドなので、create_backgroundとでもしておきましょう。 > def start > create_background #背景を作成 > end startメソッドをこう書き換え、スクリプトの一番下、最後のendの上の行に、 > def create_background > @background = Sprite.new > @background.bitmap = Cache.parallax("Mountains") > end と追加しましょう。startで、create_backgroundが呼び出され、別途下に定義したcreate_backgroundが実行されることになります。実行すると同じ結果になります。 **画像を解放する さて、スプライトを作成して画像を読み込み、表示したわけですが、このスプライト、画像は、コンピュータ内では記憶領域を確保してそこにデータを置いてあります。 そして、そのままではシーンが終了しても残ってしまいます。記憶領域がもう使わないもので占領されるため、メモリが余計に消費されてしまいます。 作成したスプライト、読み込んだ画像は、シーンが終わる時に解放するのがルールになっています。 シーンが終わる時に実行されるメソッドterminateを、以下のように書き換えましょう。 > def terminate > dispose_background #背景を解放 > end そして、dispose_backgroundメソッドをcreate_backgroundと同じように定義します。 > def dispose_background > @background.bitmap.dispose > @background.dispose > end これで、シーン終了時に背景画像を解放できるようになりました。 ---- [[前へ>シーンを作ってみる]]・[[次へ>自機を作成する]] ---- #comment_num2(size=40,vsize=4,num=20,logpage=コメント一覧)
入門編・6 シューティングゲームもどきを作る *背景を表示する 今回は内容的には、画像の表示を行います。 画像の表示はスクリプト入門の基礎編でもやりましたが、Cacheという、通常使われる技術を使っていなかったので、それを使って記述します。また、背景については作るのが大変なので、デフォルトで入っている素材から Graphics/Parallaxesに入っているMountainsを転用します。 ** 画像の表示 画像の表示は、以下の記述で行います。 > @background = Sprite.new > @background.bitmap = Cache.parallax("Mountains") 今回は、変数名にbackgroundを使いましたが、これは何でも構いません。 1行目では、@backgroundという変数に割り当てて、新規の&bold(){スプライト}を作成しています。 スプライトは、画像を表示するための基本原理で、ゲーム画面中に存在する板のようなものです。 2行目で、そのスプライトに画像を割り当てています。 スプライトは、作成しただけでは透明な板です。そのスプライトのbitmapに画像を割り当てることで、絵を映した板になります。 ** 実行のタイミング では、この2行をどこに入れるべきでしょうか。 背景画像は、シーンのメインループが始まる前から存在しているべきですから、開始処理、startのところに記述しましょう。 startメソッドの部分を、このように書き換えます。 > def start > @background = Sprite.new > @background.bitmap = Cache.parallax("Mountains") > end 実行してみると、背景画像がフェードインで表示されると思います。 #ref(09_04_11_1.jpg) ** メソッドごとに分ける さて、このままでもいいのですが、この調子でstartに記述を続けていくと、startの中身がどんどん見にくくなってしまいます。 そこで、デフォルトのスクリプトの記述にならい、別名のメソッドを作り、そのメソッドの中に処理ごとに記述を小分けにします。 背景を表示するメソッドなので、create_backgroundとでもしておきましょう。 > def start > create_background #背景を作成 > end startメソッドをこう書き換え、スクリプトの一番下、最後のendの上の行に、 > def create_background > @background = Sprite.new > @background.bitmap = Cache.parallax("Mountains") > end と追加しましょう。startで、create_backgroundが呼び出され、別途下に定義したcreate_backgroundが実行されることになります。実行すると同じ結果になります。 **画像を解放する さて、スプライトを作成して画像を読み込み、表示したわけですが、このスプライト、画像は、コンピュータ内では記憶領域を確保してそこにデータを置いてあります。 そして、そのままではシーンが終了しても残ってしまいます。記憶領域がもう使わないもので占領されるため、メモリが余計に消費されてしまいます。 作成したスプライト、読み込んだ画像は、シーンが終わる時に解放するのがルールになっています。 シーンが終わる時に実行されるメソッドterminateを、以下のように書き換えましょう。 > def terminate > dispose_background #背景を解放 > end そして、dispose_backgroundメソッドをcreate_backgroundと同じように定義します。 > def dispose_background > @background.bitmap.dispose > @background.dispose > end これで、シーン終了時に背景画像を解放できるようになりました。 ---- [[前へ>シーンを作ってみる]]・[[次へ>自機を作成する]] ---- #comment_num2(size=40,vsize=4,num=20,logpage=コメント一覧)

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー