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.Parentscript.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.Parentscript.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します。
まとめ
この方法を使うことで、プレイヤーがボタンをクリックするだけでゲームの明るさを調整できます。




コメント