※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

入門編・2

クラスとモジュール

クラス

前回、ゲームの中身を、シーン、プレイヤー、敵キャラ、のように小分けする技術というのを紹介しました。
今回は、この小分けがどんな風に行われているかを見てみましょう。
スクリプトエディタの、例えばシーンの項目Scene_Titleを開いてください。
緑色のコメントは飛ばして、7行目を見てください。
class Scene_Title < Scene_Base
とあります。
class。クラスと書かれています。
他の所、例えばウィンドウのあたりとか、ゲームオブジェクトのあたりも見てみてください。全て、最初にclassと書いてあります。
classから始まって、最後の行のendで終わる。
このclass~endで囲まれた部分で、小分けの仕方を決めています。
これが、小分けの仕方、プログラム的には クラスの定義の仕方 、です。
そう遠くない先で、実際にクラスを作ってみます。

モジュール

モジュールは、前回の説明で飛ばしました。ここで簡単に説明します。
モジュールというのは、感覚的には、 どこでも使える、似たコマンドの集まり です。
と言われても、何のことか分からないでしょう。例を見てみたいですが、
今回は、スクリプトエディタではなく、ヘルプ→目次→RGSSリファレンス→ゲームライブラリ→RGSS組み込みモジュールの項目を見てみてください。

RGSS組み込みモジュールというのは、以前説明した、一段目、いじれない部分に含まれるモジュールです。前回飛ばしたスクリプトエディタでいじれるモジュールは、二段目に含まれるモジュールです。
一段目の方が説明としてやりやすいので、こちらで紹介します。
いくつか項目があります。
Audioモジュールは、音をならすためのモジュールです。
Graphicsモジュールは、画像を表示するためのモジュールです。
Inputモジュールは、プレイヤーからの入力を扱うモジュールです。
RPGモジュールは、とりあえず考えなくていいです。
上三つは、いずれもゲームを作るための重要な要素です。
Audioモジュールには、音を鳴らす、音量を変える、音を消す、といったコマンドが用意されていて、これらをまとめたのがAudioモジュールです。
どこでも使える、似たコマンド、という意味が何となく分かりませんか。

二段目のいじれるモジュールも、どこでも使える似たコマンドを集めたものです。しかし、こっちは主にRPGに特化したモジュールです。
言葉、効果音についてのモジュールに加え、画像を高速に表示するためのCacheモジュールというのが用意されています。
Vocabをいじるとちょっと面白いくらいで、あまり大きくいじることはないし、それほど深く理解しなくてもいいと思います。


  • すごくわかりやすいです!!
    わかりやすい講座を探していたのでありがたいです。
    続き楽しみにしています! -- (名無しさん) 2009-04-11 17:41:26
  • コメントありがとうございます。
    こんなに早く反応があるとは……。
    ヘルプの解説を含め、シーンの構造などを説明しているものが
    ほとんどなかったのが不満で、作ってみました。
    本当に実はあんまり分かっていないので、至らないところも
    多いかと思いますが、よろしくお願いします。 -- (管理人) 2009-04-11 18:58:22
  • すいません、『自機を表示する』の記述に誤りがありました。
    updateの中身を書かないと、自機の位置が正しく反映されません。
    記事を修正しておきます。 -- (管理人) 2009-04-14 21:59:20
  • ツクール古参ですがRGSSに四苦八苦でした(^^;)
    が、シーンの基本構造を解説した記事にガチで救われました
    応援してるんで、がんばってください!!続き楽しみです。

    -- (うきぶくろ) 2009-04-27 12:17:15
  • コメントありがとうございます。
    一番書きたかったそのあたりは書いたもののなんだか忙しい+
    自分でもRGSSの解読に手間取っているためになかなか更新できていません。
    どの程度まで書けるか分かりませんがよろしくお願いします。 -- (管理人) 2009-04-28 08:40:35
  • 敵キャラを作成する・2の最後の方に、
    updateの際に敵キャラを扱うスプライトの更新を行うのを忘れていたのを修正しました。
    イタリック体で修正が入っている部分です。 -- (管理人) 2009-05-02 22:10:23
  • UFOが見にくかったので画像に縁取りをつけました。 -- (管理人) 2009-05-04 08:56:56
  • ホントにスゴイと思います。尊敬します。
    大変だと思いますが少しずつでいいんで頑張ってください。 -- (ユウ) 2009-05-12 00:07:40
  • コメントありがとうございます。
    恐らくこれを見て作る側はすぐなんでたいそうもどかしいと思いますが……。
    ところで、今のところはちゃんとこの講座の通りで動くようになっているのでしょうか?
    一応チェックはしてますが、多少ポカはすると思ってたので指摘が無いのがむしろ意外です。 -- (管理人) 2009-05-13 21:11:52
  • 大丈夫です。ちゃんと動いています。
    頑張ってください。続きが楽しみです。 -- (ユウ) 2009-05-18 01:06:59
  • 1段目と言われている部分は『RGSS2』
    2段目と言われている部分は『プリセットのスクリプト』
    と言われると、より解り易い表現なのでは? -- (通行人) 2009-11-05 12:48:40
  • @enemies[i] = Game_Enemy.new(200 + rand(312), rand(384))
    ↑argumentErrorが発生しました。wrong number of arguments(2 for 0)
    どうすればいいでしょうか、頼みます。
    -- (help me!!) 2010-01-05 00:22:50
  • マウス入力はできますぜ。
    Win32とかなんやらをつかって。
    キーボードもできるみたいですが見つかりません。
    探してます。 -- (シャミラ) 2010-03-24 05:28:28
  • 勉強させてもらってます、とても参考になります。
    入門編・10 にあるGame_Ememiesのクラスの
    attr_accessor ;s_enemies ですが、;を:に変えないとエラーを吐きますので
    コピペでやった人は修正した方がよさそうです
    -- (邯鄲) 2010-09-04 17:27:18
  • @enemies[i] = Game_Enemy.new(200 + rand(312), rand(384))
    ↑argumentErrorが発生しました。wrong number of arguments(2 for 0)

    Game_Enemyクラスって最初からありますよね。
    それが原因では? -- (ぽん) 2010-10-03 23:11:42
  • 製作初心者なのでとても助かります!! -- (ありがとうございます!) 2011-02-05 12:44:03
  • セーブ/ロードまわりはMarshalを使ってスクリプトで記述されていますし、
    ファイルの読み書きもRubyと同様にできますから、
    セーブやロードをいじるのはスクリプト操作でできることでは? -- (ななし) 2011-05-20 13:04:19
  • ダンジョンなら3D化できると、下記サイトに書いてありました。 -- (だれかさん) 2011-08-18 07:26:19
  • アルバイトはじめましたd(´∀`*)グッ♪ http://64n.co/ -- (私だ) 2012-01-09 04:49:41
  • 風俗店を探よりココ!!男性は報酬あり!d(´∀`*)→ http://www.44m4.net/ -- (江梨子) 2012-08-20 17:11:02
名前:
コメント:

すべてのコメントを見る