こんな疑問を解消します
この記事の内容
- Lua(ルア)スクリプト言語について
- 【基礎】色を変えるプログラム
- 3秒ごとに色を順番に変える方法
- ランダムで色を変える方法
- 変数の書き方・使い方
この記事は、ロブロックススタジオ(RobloxStudio)で障害物ゲーム(Obby)のパーツを作る記事の続きです
先に上記記事をご参照ください
パーツの色を単色で変えるだけならプログラムは必要ありません
しかし、次で説明する「○秒ごとに色を順番に変える(点滅させる)などの場合、グラフィックでは指定できません
まずは、プログラムでどのように色を指定していくかを学習していきます
☑ プログラミングをもっと学びたい!子供にやらせてあげたい!でもスクールってどんなのあるの?
ロブロックススタジオ(RobloxStudio)で使うLua(ルア)スクリプト言語とは
ロブロックススタジオ(RobloxStudio)では、Lua (ルア) というスクリプト言語でプログラミングをしていきます。
Lua スクリプト言語 は主にC言語に組み込んで使いますが、C言語にしか組み込めないわけではなく色々な言語に組み込めます。
そして、高速で汎用性が高く、実装が容易という特徴があります
Luaスクリプト言語なんて聞いたことないから心配だと思いますが、ドラゴンクエスト10,ファイナルファンタジー14など大手ゲームの現場でも使われている言語です
プログラムでパーツの色を変える方法3選
一番長くて大きい板(ita)の色を黄色にする
①色を変える一番長くて大きい板で、わかりやすいよう名前を「ita」に変更
③「ServerScriptService」をクリック、+を押すと作成できる一覧から「Script」をクリック
④新しく作られた「Script」を「ChangeColor」と変更(どのようなプログラムか分からなくなるのですぐ行うこと)
⑤左画面のファイルの中の「print(“Hello world!”)」はいらないので削除
game.Workspace.ita.BrickColor = BrickColor.new(1,1,0)
・この(1,1,0) の表記は、色の三原色の RGB(Red,Green,Blue)を表す
・色は0.0(なし)~1.0(満タン)で、0.1毎指定
上記プログラムの指定は「赤1、緑1,青0」となり板の色は黄色に変わります
3秒ごとに色を順番に変える
球体の色を3秒ごとに黒→白→黒→白…と、ずっと繰り返し色を変えていきます
- 分かりやすいように球体の名前を「ball」に変更
- 「ServerScriptService」の「+」をクリックし、「Script」をクリック
- 新しく作られた「Script」の名前を「LoopColor」に変更(どのようなプログラムか分からなくなるのですぐ行うこと)
while true do
— ボールの色を黒にする
game.Workspace.ball.BrickColor = BrickColor.new(1,1,1)
– 3秒待つ
wait(3)
— ボールの色を白にする
game.Workspace.ball.BrickColor = BrickColor.new(0,0,0)
— 3秒待つ
wait(3)
end
このプログラムの説明をします
繰り返し処理(無限ループ)をするプログラムは while 文を使う
while 条件 do
実行される処理
end
今回の場合は、条件がずっと正しい(turu) 場合、ballというパーツを「黒」→「3秒待つ」→「白」→「3秒待つ」をずっと繰り返す処理(無限ループ)
ランダムで色を変えるようにする
ランダムで色を変えるには BrickColor.random コードを使います
「Wedge」(斜めの三角のもの)をランダムで色を変えます
- 「ServerScriptService」をクリック、+を押すと作成できる一覧から「Script」をクリック
- 新しく作られた「Script」を「RandomColor」と変更(どのようなプログラムか分からなくなるのですぐ行うこと)
- 左画面のファイルの中の「print(“Hello world!”)」はいらないので削除
while true do
game.Workspace.Wedge.BrickColor = BrickColor.random()
wait(3)
end
参考:住所を何回も書くのはめんどくさい!変数を使おう
ita という名前の住所を指定する方法として以下を書いてきましたが、
「game.Workspace.ita.BrickColor」毎回書くのは面倒だと思いませんか?
その場合、「変数」を設定することで省略することができます
変数とは
何らかの値や文字列を入れておく箱です
難しいことは考えず、変数を作ったら「空き箱ができた」、と思ってください
書式は以下です
※local はこのプログラムの中でだけ有効、という意味です
変数を使ってみよう
「game.Workspace.ita.BrickColor」を省略するために、「hensuColor」という箱(変数)をつくり、その中に格納します
↓↓↓↓↓
local hensuColor = game.Workspace.ita
hensuColor.BrickColor = BrickColor.new(1,1,0)
変数の命名について
変数の命名は、小文字から始まり、単語が複数つながる場合には次の単語は大文字にします
hensuColor
これで、何度も同じ文字列を書くことなく、hensuColor という変数にまとめることができました
プログラムでパーツの色を変える方法3選まとめ
プログラムでパーツの色を変える方法を3つを紹介しました
- 色を変える方法
- 色を3秒ごとに変える方法
- 色をランダムに変える方法
全て作り終わると作ったプログラム(スクリプト)が3つありますね
色を変えるプログラミングって簡単なのね
プレイボタンを押してみると色が変わって面白いわ!
色々試してみたらいいわね
☑ プログラミングをもっと学びたい!子供にやらせてあげたい!でもスクールってどんなのあるの?