fc2ブログ

2023-03

RGSS基本講座(5)

概要

  • 変数とは
  • ローカル変数
  • グローバル変数
  • クラス変数
  • インスタンス変数
  • 定数

変数とは

変数とはオブジェクトにつける「名前」のことです。オブジェクトを入れる「箱」という表現をすることもあります。
RPGツクールのイベントコマンドで使われている変数とは別物です。
オブジェクトに名前をつけることを「代入する」といいます。

変数はそのスコープ(値の有効範囲)によって4つに分類されます。
そして、それぞれの名前の付け方にルールがあります。

ローカル変数

メソッド内などで一時的に使われる変数をローカル変数といいます。
値の有効範囲はメソッド内だけなので、別のメソッドで使うとそれぞれ別の変数として扱われます。

変数名は必ず先頭に「小文字のアルファベットもしくはアンダーバー”_”」を使わなければなりません。2文字目以降は「アルファベット・アンダーバー・数字」を使うことができます。
また、スクリプトエディタ内で青文字で表示されている英単語(begin,end等)は「予約語」とよばれ、基本的にローカル変数の名前として利用することはできません。

width
height
_x
_y
foo123
間違い例
123foo
Width
HEIGHT

グローバル変数

プログラム全体で有効な変数をグローバル変数といいます。プリセットのRGSSではゲームデータやキャラクターの情報などをグローバル変数で管理しています。

変数名は先頭に必ず"$"をつけます。2文字目以降はローカル変数と同じです。予約語等の制限はありません。

$data_actors
$game_party
$game_variables

グローバル変数は有効範囲が広いので、多用するとプログラムが複雑になります。

クラス変数

クラス単位で管理する変数です。
クラス内に定義します。特別な手続きがないとクラス外からは見れません。プリセットのRGSSでは一切使われていません。
正直使い方が思いつきません。

変数名は先頭に必ず"@@"をつけます。2文字目以降はローカル変数と同じです。予約語等の制限はありません。

@@foo
@@bar123
@@_baz

インスタンス変数

オブジェクトが管理する変数です。オブジェクトが存在する限り値が保持されます。
クラス内に定義します。特別な手続きがないとクラス外からは見れません。
ローカル変数と同じくらいよく使います。

変数名は先頭に必ず"@"をつけます。2文字目以降はローカル変数と同じです。予約語等の制限はありません。
クラス変数と似ていますが、インスタンス変数は@が1つです。

@savefile_windows
@help_window

定数

変数は再代入が可能ですが、定数は再代入ができません。一度代入したらそのままです。
一般的に、素材系のRGSSで多用されています。

変数名は必ず先頭に「大文字のアルファベット」を使わなければなりません。2文字目以降は「アルファベット・アンダーバー・数字」を使うことができます。

FOO
BAR
BAZ

このほかにも、「擬似変数」という一癖も二癖もあるような変数もありますが、今はスルーします。
では、また次回。

スポンサーサイト



«  RGSS基本講座(4)  | HOME |  RGSS基本講座(6)  »

コメント

>123foo
i`ヽ                        ,r‐'ァ 
 `ヽ::                      ::´
   ヽ ヽ        , -‐--、         / /
    ヽ \      I:::::::I_      _ / /┌────────────
     ヽ  ヽ    i,(;;;ノI、;;;)l    ,,/  , ' <1、2、3、フゥーーーーッ!
      ヽ  ` ー 、.,,ゝ´ヮ`,ノュ_, - '   r'   └────────────
        ` 、_ /::: `山':::::    /
         ヽ:::::::::::|::::::::"",r‐'
          〉::::::::|::::::::::¨/
         /;;;;;;;/;;;;;;;;;;/
        /;;;;;;;/:::::::::::《
        <;;;;;;;《:::::::::::::ヽ   ))
      /   ヽI,r''"""^~ヽ
     /   ,/ ヽ    ヽ

……思いついてしまっただけですスミマセnうわやめtこふぉpぎd!!

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://rgss.blog26.fc2.com/tb.php/8-2d2357c6
この記事にトラックバックする(FC2ブログユーザー)

«  RGSS基本講座(4)  | HOME |  RGSS基本講座(6)  »

プロフィール

目次

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

 

カウンター