【Roblox Studio】クリックイベントを実装する方法【Click Detector】

3D Interfaces

1. Roblox StudioのClick Detectorとは

Roblox Studioには、Click Detectorという機能があります。Click Detectorを使うことで、クリックイベントを実装することができます。指定のオブジェクトをクリックすると特定の処理が行われるなどが可能です。

以下では、Click Detectorを使用して、クリックイベントでオブジェクトのプロパティを変更してみます。

2. 使用する機能と主なコード

【機能】
・Click Detector

【コード】
・MouseClick
・MouseHoverEnter
・MouseHoverLeave
・RightMouseClick

3. Click Detectorの簡単な使い方

まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。

Partを適当な位置に設置します。

Partの中にClickDetectorとSctiptを追加します。

Sctiptに以下のコードを追加します。

local part = script.Parent
local detector = part.ClickDetector

変数partにSctiptの親のPartを代入し、
変数detectorにPartの子のClickDetectorを代入しています。

さらに、以下のコードを追加します。

local part = script.Parent
local detector = part.ClickDetector

-- クリックされた時に発生するイベント
detector.MouseClick:connect(function(player)
	print("MouseClick")
end)

「detector.MouseClick:connect()」が、「クリックされた場合」のクリックイベントを示しています。クリックされた場合、「MouseClick」と表示するようにしています。
この状態で実行してみます。

「MouseClick」と表示されました。
次に、Partをクリックしたら、色が変化するようにしてみます。

local part = script.Parent
local detector = part.ClickDetector


-- クリックされた時に発生するイベント
detector.MouseClick:connect(function(player)
	print("MouseClick")
	-- partの色が赤以外なら赤にする。赤なら黒にする
	if part.BrickColor ~= BrickColor.new("Really red") then
		part.BrickColor = BrickColor.new("Really red")
	else
		part.BrickColor = BrickColor.new("Really black")
	end
end)

実行してみます。

クリックするたびにPartの色が変化しました。
次は、マウスがPartに乗った時に発生するイベントを追加してみます。

local part = script.Parent
local detector = part.ClickDetector

-- クリックされた時に発生するイベント
detector.MouseClick:connect(function(player)
	print("MouseClick")
	-- partの色が赤以外なら赤にする。赤なら黒にする
	if part.BrickColor ~= BrickColor.new("Really red") then
		part.BrickColor = BrickColor.new("Really red")
	else
		part.BrickColor = BrickColor.new("Really black")
	end

end)

-- マウスが乗った時に発生するイベント
detector.MouseHoverEnter:connect(function(player)
	print("MouseHoverEnter")
	-- partのサイズを大きくする
	part.Size = Vector3.new(4, 4, 4)
end)

「detector.MouseHoverEnter:connect()」は、マウスが乗った時に発生するイベントを示しています。マウスが乗った場合、Partのサイズを大きくしています。

実行してみます。

Partにマウスを乗せると、Partが大きくなりました。しかし、マウスがPartから離れても大きさが元にもどりません。マウスが離れた時のイベントを追加してみます。

local part = script.Parent
local detector = part.ClickDetector

-- クリックされた時に発生するイベント
detector.MouseClick:connect(function(player)
	print("MouseClick")
	-- partの色が赤以外なら赤にする。赤なら黒にする
	if part.BrickColor ~= BrickColor.new("Really red") then
		part.BrickColor = BrickColor.new("Really red")
	else
		part.BrickColor = BrickColor.new("Really black")
	end

end)

-- マウスが乗った時に発生するイベント
detector.MouseHoverEnter:connect(function(player)
	print("MouseHoverEnter")
	-- partのサイズを大きくする
	part.Size = Vector3.new(4, 4, 4)
end)

-- マウスが離れた時に発生するイベント
detector.MouseHoverLeave:connect(function(player)
	print("MouseHoverLeave")
	-- partのサイズを元に戻す
	part.Size = Vector3.new(4, 1, 2)
end)

「detector.MouseHoverLeave:connect()」は、マウスが離れた時に発生するイベントを示しています。マウスがPartから離れた場合、Partのサイズを元に戻すようにしています。

実行してみます。

Partからマウスが離れたら、Partの大きさが元に戻りました。
最後に、右クリックした時に発生するイベントを追加してみます。

local part = script.Parent
local detector = part.ClickDetector

-- クリックされた時に発生するイベント
detector.MouseClick:connect(function(player)
	print("MouseClick")
	-- partの色が赤以外なら赤にする。赤なら黒にする
	if part.BrickColor ~= BrickColor.new("Really red") then
		part.BrickColor = BrickColor.new("Really red")
	else
		part.BrickColor = BrickColor.new("Really black")
	end

end)

-- マウスが乗った時に発生するイベント
detector.MouseHoverEnter:connect(function(player)
	print("MouseHoverEnter")
	-- partのサイズを大きくする
	part.Size = Vector3.new(4, 4, 4)
end)

-- マウスが離れた時に発生するイベント
detector.MouseHoverLeave:connect(function(player)
	print("MouseHoverLeave")
	-- partのサイズを元に戻す
	part.Size = Vector3.new(4, 1, 2)
end)

-- 右クリックした時に発生するイベント
detector.RightMouseClick:connect(function(player)
	print("MouseRightClick")
	-- partのtransparencyを0.8にする
	part.Transparency = 0.8
end)

「detector.RightMouseClick:connect()」は、Partが右クリックされた時に発生するイベントを示しています。右クリックされた場合、Partを透明にしてみます。

実行してみます。

Partを右クリックしたら、Partが透明になりました。

4. まとめ

・ClickDetectorを使用することでクリックイベントを実装できる

チュートリアル系電子書籍の紹介
Roblox Studioでゲーム制作を始めてみませんか?
日本語版 ※英語版あり 「10時間でできる Roblox Studio アクションゲーム制作入門」では、Roblox Studioでのゲーム制作の基本から応用までを短時間で効率的に学びます。この一冊で、初心者でも簡単にアクションゲームを制作できるようになり、ゲーム制作の面白さと達成感を存分に味わうことができます。Roblox Studioの世界への扉を開き、あなたのクリエイティブな旅を始めましょう。
Luaに関する電子書籍の紹介
Roblox Studioで使用するLua言語の基本を学ぼう!
日本語版 ※英語版あり 「5時間でできる Roblox Studio を使ったLuaの基本」では、Roblox Studioで使用するプログラミング言語Luaの基本をRoblox Studio上で学びます。また、学んだ知識を活かして、Roblox StudioでLuaを使用する応用部分も一部盛り込まれています。この一冊でLuaの基本を学ぶことで、よりRoblox Studioでのゲーム制作を楽しめるようになります。
アニメーション制作系電子書籍の紹介
Roblox Studioでアニメーションを作ってみよう!
「5時間でできる Roblox Studio アニメーション制作入門」では、Roblox Studioでのアニメーション制作の基本から実際に作るところまでを短時間で効率的に学びます。この一冊で、アニメーション制作の第一歩を踏み出すことができます。Roblox Studioで自由自在にアニメーションを作成し、よりクリエイティブなゲームを作りましょう!
3D InterfacesCodeScripting
シェアする
hideをフォローする
Roblox Studio 制作tips

コメント

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