【Lua言語講座】6.オブジェクトとプロパティ

オブジェクトとプロパティ Lua言語講座

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

オブジェクト

こちらの記事でも解説していますが、オブジェクトとは『もの』を表す英語です。
Robloxではパーツやモデルはオブジェクトですし、大気や空、サーバーや音、GUIなどもオブジェクトとして扱うことができます。

プロパティ

こちらもこの記事で解説していますが、プロパティとは『性質』や『属性』を意味する英語です。
Robloxではオブジェクトの外観や機能といった情報のことをプロパティといいます。

パーツの色を変えるプログラム

さて、オブジェクトとプロパティを簡単におさらいしたところでパーツの色を変えるプログラムを作ってみましょう。

まずはこれまでの手順で新しいパーツを作成し、その名前をTestPartテストパートに変更してください。その後、ServerScriptServiceサーバースクリプトサービスChangeColorチェンジカラーというスクリプトを作ってください。

パーツとスクリプトの新規作成

続いてコードを書いていきます。
まずは操作したいオブジェクトがどこにあるのか(階層)を調べていきます。

今回はTestPartを操作したいですよね。TestPartはエクスプローラ上でWorkSpaceワークスペースの中に入っていることが確認できると思います。試しにWorkSpaceの左側の三角マークをクリックしてみてください。クリックに合わせてTestPartが表示されたり、消えたりすると思います。

では、TestPartへのアクセス方法を見ていきましょう。

--色を変えるプログラム
--TestPartへのアクセス
game.Workspace.TestPart

まず、gameゲームというオブジェクトがありますが、これはゲーム本体を指すものです。続いてドット(.)に続けてWorkspaceを書きます。これでgameの中にあるWorkspaceを表していることになります。今回はさらにWorkspaceの中にあるTestPartを使いたいのでこれもドット(.)で繋いであげます。

ここまでで、TestPartにアクセスつまり、TestPartオブジェクトをコードでいじれるようになりました。ここからTestPartオブジェクトのColorプロパティを変更していきます。

--色を変えるプログラム
--Colorへのアクセス
game.Workspace.TestPart.Color

プロパティにアクセスするにはオブジェクトの後にドット(.)をつけてプロパティ名を指定します。どうでしょう? 意外と難しくはないのではないでしょうか。

続いて数値を使って具体的な色を指定します。
色を指定するにはRGBそれぞれの数値を変える必要があります。それぞれの数値は0~255までとなっており、0が光を出さない/255が最大の光を出すようになっています。詳しく知りたい方は光の三原色というキーワードで検索してみてください。

今回はRGBを指定するわけですが、これまで学んだ内容だと変数に数値は1つしか代入できませんでしたよね。そこでColorカラー3という機能を使うことにします。(厳密にはColor3クラスといいますが今はそんな機能があるんだという認識で大丈夫です)

--色を変えるプログラム
--RGB値を代入
game.Workspace.TestPart.Color = Color3.fromRGB(0, 85, 255)
カラーピッカーの場所

画像のようにカラーピッカーを使うと簡単に色を選ぶことができます。

RGB値が指定できたらプレイボタンを押してみましょう。

パーツの色が変わっていることが確認できたら成功です!

色が変わったパーツを見る怪しい人物

宿題

fromフロムRGB()内のRGBの値を以下のように変えて実行してみてください。

  1. 0, 0, 0
  2. 255, 0, 0
  3. 0, 255, 0
  4. 0, 0, 255
  5. 255, 255, 255

また、fromRGB()ではなく、fromHSV()を使ってみてください。

まとめ

  • オブジェクトにアクセスするにはgameの後に.をつけてそのオブジェクトの位置を示す
  • プロパティにアクセスするにはオブジェクトの後に.をつける
  • ColorプロパティでRGB値を指定するにはColor3クラスのfromRGB()を使う

お疲れ様でした。第6回は以上です。
次回はコードを書くうえで大切な親と子という概念について解説します。

コメント

タイトルとURLをコピーしました