Roblox Magazine

変数(へんすう)/ variable

# 変数(へんすう)/ variable

## roblox.onl プログラミング Wiki

---

> 📘 このページは roblox.onl の技術(ぎじゅつ)Wiki です。

> 初めて(はじめて)出てくる用語(ようご)にはふりがなをつけています。

> 【講師メモ】は指導者(しどうしゃ)向けの補足(ほそく)情報です。

---

## 変数(へんすう)とは?

変数とは、**数値(すうち)や文字(もじ)を入れておく「箱(はこ)」** のことです。

```

┌─────────────┐

│ COIN_VALUE │ ← 箱の名前(変数名・へんすうめい)

│ 10 │ ← 箱の中身(値・あたい)

└─────────────┘

```

Luau(ルアウ)では次のように書きます:

```lua

local COIN_VALUE = 10

-- local = このスクリプト内だけで使う変数を作るキーワード

-- COIN_VALUE = 変数名

-- 10 = 値(あたい)

```

---

## なぜ使うのか?

### 変数なし ❌

```lua

-- コインが10点のとき

score.Value = score.Value + 10

-- 20点に変えたい → コード全体(ぜんたい)を検索(けんさく)して書き換える…

score.Value = score.Value + 20 -- 1か所目

score.Value = score.Value + 20 -- 2か所目

score.Value = score.Value + 20 -- 3か所目…

```

### 変数あり ✅

```lua

local COIN_VALUE = 10 -- ここだけ変えればOK!

score.Value = score.Value + COIN_VALUE -- 1か所目

score.Value = score.Value + COIN_VALUE -- 2か所目

score.Value = score.Value + COIN_VALUE -- 全部COIN_VALUEを参照(さんしょう)している

```

COIN_VALUE = 10COIN_VALUE = 20 に変えるだけで、全部20点になる!

---

## Luauでの使い方

### 変数を作る(宣言(せんげん)・定義(ていぎ))

```lua

local 変数名 = 値

```

```lua

local score = 0 -- 数値(number・ナンバー)

local name = "たろう" -- 文字列(string・ストリング)

local isActive = true -- 真偽値(boolean・ブーリアン)

```

### 値を変える(代入(だいにゅう))

```lua

score = score + 10 -- score に 10 を足す(たす)

score = score - 5 -- score から 5 を引く(ひく)

score = 0 -- score を 0 にリセット

```

### 値を読む

```lua

print(score) -- コンソールに表示(ひょうじ)する

label.Text = score -- GUIに表示する

```

---

## ゲームでよく使う変数の例(れい)

### ① ゲームの設定(せってい)値はファイルの先頭(せんとう)にまとめる

```lua

local COIN_VALUE = 10 -- コインの点数(てんすう)

local COIN_COUNT = 20 -- コインの数

local GAME_TIME = 60 -- ゲーム時間(びょう)

local FIELD_SIZE = 80 -- フィールドの広さ(ひろさ)

```

💡 コツ:設定値は大文字(おおもじ)で書くと「定数(ていすう)」とひと目でわかる

### ② プレイヤーの状態(じょうたい)

```lua

local score = 0 -- 点数

local timeLeft = 60 -- 残り時間(のこりじかん)

local isAlive = true -- 生きているか

```

### ③ パーツやGUIの参照(さんしょう)

```lua

local coin = Instance.new("Part") -- コインパーツ

local label = script.Parent.TextLabel -- GUIのラベル

local player = Players.LocalPlayer -- プレイヤー

```

---

## よくあるミス

### ① local の付け忘れ

```lua

-- ❌ 間違い:local がない

score = 0

-- ✅ 正しい

local score = 0

```

local がないとグローバル変数になり、他のスクリプトに予期しない影響(えいきょう)が出ることがある。

### ② 大文字・小文字の違い

```lua

local COIN_VALUE = 10

-- ❌ 間違い:大文字・小文字が違う

score.Value = score.Value + Coin_Value -- エラー!

-- ✅ 正しい:完全(かんぜん)に同じ名前

score.Value = score.Value + COIN_VALUE

```

Luauは大文字と小文字を別のものとして扱う(あつかう)。

### ③ 宣言前(せんげんまえ)に使う

```lua

-- ❌ 間違い:作る前に使おうとしている

print(COIN_VALUE) -- エラー!

local COIN_VALUE = 10

-- ✅ 正しい:宣言してから使う

local COIN_VALUE = 10

print(COIN_VALUE)

```

---

## 難易度(なんいど)別の変数の使い方

### 🟢 初級(しょきゅう):数値を保存(ほぞん)する

```lua

local score = 0

score = score + 10

```

### 🟡 中級(ちゅうきゅう):テーブル(一つの箱に複数(ふくすう)の値)

```lua

local player = {

name = "たろう",

score = 0,

hp = 100,

}

print(player.name) -- "たろう"

player.score = player.score + 10

```

### 🔴 上級(じょうきゅう):関数(かんすう)の変数

```lua

local function addScore(amount)

score = score + amount

end

addScore(10) -- 10点加算(かさん)

addScore(50) -- 50点加算

```

---

## #01 ゲームで使った変数一覧(いちらん)

| 変数名 | 型(かた) | 値 | 役割(やくわり) |

|---|---|---|---|

| COIN_VALUE | number | 10 | コインの点数 |

| COIN_COUNT | number | 20 | コインの合計数(ごうけいすう) |

| GAME_TIME | number | 60 | ゲーム時間 |

| COIN_HEIGHT | number | 2 | コインの高さ(たかさ) |

| FIELD_SIZE | number | 80 | フィールドの広さ |

| coin | Part | Instance | コインパーツ |

| player | Player | Instance | プレイヤー |

| score | IntValue | 0〜 | プレイヤーの点数 |

| timeLeft | number | 60→0 | 残り時間 |

---

## 関連(かんれん)ページ

- → [イベント(Touched)](#) ※ #02で学ぶ

- → [関数(function)](#) ※ #03で学ぶ

- → [ループ(for・while)](#) ※ #04で学ぶ

- → [条件分岐(じょうけんぶんき)(if・else)](#) ※ #05で学ぶ

---

## 【講師メモ】授業(じゅぎょう)のポイント

- 変数の「箱」の比喩(ひゆ)はほぼ全ての初級生に通じる。黒板に「箱」を書いて、名前と中身を分けて書くと定着(ていちゃく)しやすい。

- COIN_VALUE をリアルタイムで変えてみせるデモが最大のつかみ。「1か所変えるとゲームが変わる」は初級生の驚き(おどろき)ポイント。

- 大文字変数と小文字変数の違いは #01では深掘り(ふかぼり)しない。「設定値は大文字」のルールだけ伝える。

---

roblox.onl 技術Wiki

シリーズ:AI×Roblox プログラミング100本

最終更新:2026年3月