3D版
完成動画
はじめに
Roblox Studioでは、ゲームの明るさを変更することで、昼夜の演出や雰囲気の調整が可能です。本記事では、ボタンに似せたオブジェクトに近づいた際にProximityPromptが表示され、それを発動することでゲーム全体の明るさを変更する方法を紹介します。
使用する機能
ProximityPrompt
(プレイヤーが近づいた際にインタラクションを提供するUI要素)ProximityPrompt.Triggered
(プレイヤーがProximityPromptを発動した際にイベントを実行する)game:GetService("Lighting")
(Lightingサービスを取得し、ゲームの明るさを変更する)
構成
このシステムでは、2つのProximityPromptを用意し、それぞれのProximityPromptを発動することで明るさを増減させます。
エクスプローラーの構成
Part
└ SurfaceGui
└ TextLabel(明)
└ TextLabel(暗)
Part
└ ProximityPrompt(明るくする)
└ Script
Part
└ ProximityPrompt(暗くする)
└ Script
スクリプトの設定
各ProximityPromptに Script を追加し、それぞれの Script に以下のコードを記述します。
1. 明るくするスクリプト
local ProximityPrompt1 = script.Parent
local Lighting = game:GetService("Lighting")
ProximityPrompt1.Triggered:Connect(function(promptObject, player)
Lighting.Brightness = 5
end)
2. 暗くするスクリプト
local ProximityPrompt2 = script.Parent
local Lighting = game:GetService("Lighting")
ProximityPrompt2.Triggered:Connect(function(promptObject, player)
Lighting.Brightness = 1
end)
解説
1. ProximityPrompt の取得
local ProximityPrompt1 = script.Parent
script.Parent を使って、スクリプトが配置されている ProximityPrompt を取得します。
2. Lighting サービスの取得
local Lighting = game:GetService("Lighting")
game:GetService(“Lighting”) を使って Lighting サービスを取得します。
3. ProximityPrompt が発動したときの処理
ProximityPrompt1.Triggered:Connect(function(promptObject, player)
ProximityPrompt.Triggered イベントを使い、プレイヤーが ProximityPrompt を発動したときの動作を設定します。
4. 明るさの変更
Lighting.Brightness = 5
明るくする場合は Brightness を 5 にします。
暗くする場合は 1 にします。
まとめ
この方法を使うことで、プレイヤーが3Dオブジェクトに近づいてProximityPromptを発動するだけでゲームの明るさを調整できます。
UI版
完成動画
はじめに
Roblox Studioでは、ゲームの明るさを変更することで、昼夜の演出や雰囲気の調整が可能です。本記事では、UI上のボタンをクリックすることでゲーム全体の明るさを変更する方法を紹介します。
使用する機能
StarterGui
(GUIの親コンテナ)ScreenGui
(画面上のGUI要素を管理)TextButton
(クリック可能なボタンUI)LocalScript
(クライアント側で実行されるスクリプト)button.Activated
(ボタンが押されたときに実行されるイベント)game:GetService("Lighting")
(ライティングサービスを取得)Lighting.Brightness
(ゲーム全体の明るさを変更)
構成
このシステムでは、2つのボタンを用意し、それぞれのボタンをクリックすることで明るさを増減させます。
エクスプローラーの構成
StarterGui
└ScreenGui
└TextButton(明るくするボタン)
└LocalScript
└TextButton(暗くするボタン)
└LocalScript
スクリプトの設定
各ボタンに LocalScript
を追加し、それぞれの LocalScript
に以下のコードを記述します。
1. 明るくするボタンのスクリプト
local button = script.Parent
local Lighting = game:GetService("Lighting")
button.Activated:Connect(function()
Lighting.Brightness = Lighting.Brightness + 0.5
end)
2. 暗くするボタンのスクリプト
local button = script.Parent
local Lighting = game:GetService("Lighting")
button.Activated:Connect(function()
Lighting.Brightness = Lighting.Brightness - 0.5
end)
解説
1. ボタンの取得
local button = script.Parent
script.Parent
を使って、スクリプトが配置されているTextButton
を取得します。
2. Lighting サービスの取得
local Lighting = game:GetService("Lighting")
game:GetService("Lighting")
を使ってLighting
サービスを取得します。
3. ボタンがクリックされたときの処理
button.Activated:Connect(function()
button.Activated
イベントを使い、ボタンがクリックされたときの動作を設定します。
4. 明るさの変更
Lighting.Brightness = Lighting.Brightness + 0.5
- 明るくするボタンの場合、
Brightness
を+0.5
します。 - 暗くするボタンの場合、
-0.5
します。
まとめ
この方法を使うことで、プレイヤーがボタンをクリックするだけでゲームの明るさを調整できます。
コメント