※この記事は会話形式にリライトしました。
こんにちは、ロブスタのハルです!
前回の講座では文とコメントについて説明しました。
今回はRobloxのゲーム制作においてとても大切なオブジェクトとプロパティについて説明したいと思います!
前回の講座を見ていない方はこちらからご覧ください。
オブジェクト
――ある日の会話――

これまでプログラムの書き方を学んできました。
今日は何を勉強するんですか?

今日はオブジェクトについて学びましょう。

オブジェクト…?

大まかに言えば、パーツやモデル、サーバー、音、GUIなどRoblox Studio上のものを指す言葉です。Roboxでのゲーム開発はオブジェクトを触ることと言っても過言ではありません。
解説
こちらの記事でも解説していますが、オブジェクトとは『もの』を表す英語です。
Robloxではパーツやモデルはオブジェクトですし、大気や空、サーバーや音、GUIなどもオブジェクトとして扱うことができます。
プロパティ
――ある日の会話――

オブジェクト…つかみどころがなくてよくわからないです…

これも慣れるしかないですね…
オブジェクトと合わせて知っておいてほしいのがプロパティです。

プロパティ?

プロパティはオブジェクトの色や材質、透明度や見えるかどうかといった情報のことですね。Robloxでのゲーム開発はオブジェクトを触ると言いましたが、実際はこのプロパティを変更することが多いです。
解説
こちらもこの記事で解説していますが、プロパティとは『性質』や『属性』を意味する英語です。
Robloxではオブジェクトの外観や機能といった情報のことをプロパティといいます。
パーツの色を変えるプログラム
さて、オブジェクトとプロパティを簡単におさらいしたところでパーツの色を変えるプログラムを作ってみましょう。
まずはこれまでの手順で新しいパーツを作成し、その名前をTestPartに変更してください。その後、ServerScriptServiceでChangeColorというスクリプトを作ってください。

続いてコードを書いていきます。
まずは操作したいオブジェクトがどこにあるのか(階層)を調べていきます。
今回はTestPartを操作したいですよね。TestPartはエクスプローラ上でWorkSpaceの中に入っていることが確認できると思います。試しにWorkSpaceの左側の三角マークをクリックしてみてください。クリックに合わせてTestPartが表示されたり、消えたりすると思います。
では、TestPartへのアクセス方法を見ていきましょう。
--色を変えるプログラム
--TestPartへのアクセス
game.Workspace.TestPart
まず、gameというオブジェクトがありますが、これはゲーム本体を指すものです。続いてドット(.)に続けてWorkspaceを書きます。これでgameの中にあるWorkspaceを表していることになります。今回はさらにWorkspaceの中にあるTestPartを使いたいのでこれもドット(.)で繋いであげます。
ここまででTestPartオブジェクトをコードでいじれるようになりました。ここからTestPartオブジェクトのColorプロパティを変更していきます。
--色を変えるプログラム
--Colorへのアクセス
game.Workspace.TestPart.Color
プロパティにアクセスするにはオブジェクトの後にドット(.)をつけてプロパティ名を指定します。どうでしょう? 意外と難しくはないのではないでしょうか。
続いて数値を使って具体的な色を指定します。
色を指定するにはRGBそれぞれの数値を変える必要があります。それぞれの数値は0~255までとなっており、0が光を出さない/255が最大の光を出すようになっています。詳しく知りたい方は光の三原色というキーワードで検索してみてください。
今回はRGBを指定するわけですが、これまで学んだ内容だと変数に数値は1つしか代入できませんでしたよね。そこでColor3という機能を使うことにします。(厳密にはColor3クラスといいますが今はそんな機能があるんだという認識で大丈夫です)
--色を変えるプログラム
--RGB値を代入
game.Workspace.TestPart.Color = Color3.fromRGB(0, 85, 255)

画像のようにカラーピッカーを使うと簡単に色を選ぶことができます。
RGB値が指定できたらプレイボタンを押してみましょう。
パーツの色が変わっていることが確認できたら成功です!

※追記
本文ではgame.Workspaceという形式でWorkspaceを指定していましたが、実はworkspaceと一言で書くこともできます。
--色を変えるプログラム
--RGB値を代入
workspace.TestPart.Color = Color3.fromRGB(0, 85, 255)
このプログラムも同じ意味ということですね。
宿題
fromRGB()内のRGBの値を以下のように変えて実行してみてください。
- 0, 0, 0
- 255, 0, 0
- 0, 255, 0
- 0, 0, 255
- 255, 255, 255
また、fromRGB()ではなく、fromHSV()を使ってみてください。
最後に
――ある日の会話――

実際にプログラムを書いてみると少しわかりました。
プロパティはオブジェクトに.をつけることでアクセスできるんですね。

その通りです。
今回はColorプロパティを変更することで色を変えましたね。

ただ、エクスプローラーの使い方がいまいちよくわかってないんですよね。

それでは次回はエクスプローラーを見る上で重要な親と子について説明しましょうか。
まとめ
- オブジェクトにアクセスするにはgameの後に.をつけてそのオブジェクトの位置を示す
- プロパティにアクセスするにはオブジェクトの後に.をつける
- ColorプロパティでRGB値を指定するにはColor3クラスのfromRGB()を使う
お疲れ様でした。第6回は以上です。
次回はコードを書くうえで大切な親と子という概念について解説します。
コメント