【Roblox Studio】プレイヤーのサイズを大きくするブロックの設置

Avatar

1. 一時的なアバターサイズ変更

本記事では、プレイヤーが特定のブロックに触れた際に、一時的にプレイヤーのアバターのサイズを大きくし、一定時間後に元のサイズに戻す機能の実装方法を解説します。

2. 使用する機能

・Script
・Humanoid

3. 手順

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

プレイヤーが大きくなるブロックを設置していきます。
Partをクリックし、プレイヤーが触れやすいように大きくします。

分かりやすくするため、Partの色を変更します。
今回は、PartのプロパティにあるBrickColorをCamoに変更します。

設置したPartの子要素にScriptを追加し、以下のコードを記入します。

local block = script.Parent

local function onTouch(part)
	local character = part.Parent
	local humanoid = character:FindFirstChildOfClass("Humanoid")

	if humanoid then
		humanoid.BodyHeightScale.Value = 2  
		humanoid.BodyWidthScale.Value = 2   
		humanoid.BodyDepthScale.Value = 2   
		wait(5)  
		humanoid.BodyHeightScale.Value = 1  
		humanoid.BodyWidthScale.Value = 1   
		humanoid.BodyDepthScale.Value = 1   
	end
end

block.Touched:Connect(onTouch)

上記コードの簡単な解説は以下となります。

  1. local block = script.Parent
    この行は、スクリプトの親オブジェクト(Part)をblockという変数に代入しています。
  2. local function onTouch(part)
    onTouchという名前の関数を定義しています。
  3. local character = part.Parent
    local humanoid = character:FindFirstChildOfClass(“Humanoid”)

    partは触れたオブジェクトを指し、part.Parentはその親オブジェクト(通常、プレイヤーのアバター)を指します。次に、humanoidはプレイヤーのアバターからHumanoidオブジェクトを探し、それを変数に代入しています。
  4. if humanoid then
    humanoid.BodyHeightScale.Value = 2
    humanoid.BodyWidthScale.Value = 2
    humanoid.BodyDepthScale.Value = 2
    wait(5)
    humanoid.BodyHeightScale.Value = 1
    humanoid.BodyWidthScale.Value = 1
    humanoid.BodyDepthScale.Value = 1
    end


    if humanoid thenで、humanoidオブジェクトが存在するか(つまり、触れたオブジェクトがプレイヤーのアバターであるか)を確認しています。存在する場合、以下のコードが実行されます。

    humanoid.BodyHeightScale.Value = 2 などで、プレイヤーのアバターの高さ、幅、奥行きを2倍にしています。

    wait(5)で、5秒間プログラムの実行を一時停止しています。

    その後、humanoid.BodyHeightScale.Value = 1 などで、プレイヤーのアバターのサイズを元に戻しています。
  5. block.Touched:Connect(onTouch)
    blockオブジェクトが何かに触れたときにonTouch関数を呼び出すイベントハンドラを設定しています。

    このコードは、プレイヤーが特定のブロックに触れると一時的にアバターのサイズが大きくなり、5秒後に元のサイズに戻る機能を実装しています。

ちなみに、コードにあるhumanoid.BodyHeightScale.Value、humanoid.BodyWidthScale.Value、humanoid.BodyDepthScale.Valueは以下画像の部分を示します。

この状態でゲームをプレイしてみます。
プレイヤーがブロックに触れるとプレイヤーが大きくなり、一定時間経過後に元の大きさに戻れば正しく設定できています。

この記事を通じて、プレイヤーがブロックに触れた際にアバターのサイズを一時的に変更し、その後元のサイズに戻す機能の実装方法を学びました。具体的には、HumanoidオブジェクトのBodyHeightScaleBodyWidthScaleBodyDepthScaleプロパティを使用してアバターのサイズを変更し、wait関数で一定時間後にサイズを元に戻すコードを記述しました。この知識を活かして、ゲーム内でプレイヤーのアクションに対して様々な反応を作り出し、ゲームプレイのバリエーションを増やすことができます。

チュートリアル系電子書籍の紹介
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で自由自在にアニメーションを作成し、よりクリエイティブなゲームを作りましょう!
AvatarScripting
シェアする
hideをフォローする
Roblox Studio 制作tips

コメント

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