見出し画像

【触れると即ゲームオーバー⁉】 日本語版RobloxStudioではじめる ゲームの作り方講座 ~基本的なコーディング編⑤~

こんにちは!かけるるです。
初心者向けにRobloxStudioでのゲームの作り方を紹介します。

今回は、触れるとすぐゲームオーバーになる溶岩の床を作ります。

画像をたくさん使用して紹介しますが、わかりにくかったら
感想欄にコメントください_(._.)_

前回までの講座はこちらです⇩

●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●


早速始めましょう!

キャラクターとヒューマノイド

プレイヤーが溶岩に触れると、Robloxは実際に溶岩に触れたプレイヤーの特定の体の部分(左足や右足など)を検出します。この部分はプレイヤーのキャラクターモデルにあります。

キャラクターモデルとは
キャラクターモデルには、ゲーム内のプレーヤーのアバターを構成する下記のオブジェクトが含まれています。

・頭、手足、胴体など、プレーヤーの個々の体の部分。
・プレイヤーが着用する衣服やアクセサリー。
・プレーヤーの健康状態など、プレーヤーに関連する多くのプロパティを含む特別なオブジェクト。
・プレイヤーの動きを制御するHumanoidRootPart。


前述の通り、溶岩に触れている体のパーツはキャラクターモデルの一部なので、otherPart.Parentでそのキャラクターへの参照を取得することができます。

溶岩の床に触れたパーツの親を格納する変数を作成します。

local lava = script.Parent
 
local function killPlayer(otherPart)
	local partParent = otherPart.Parent
end
 
lava.Touched:Connect(killPlayer)

キャラクターモデルから、プレイヤーを殺すためにヒューマノイドオブジェクトを取得する必要があります。

これはFindFirstChild関数で行うことができます。探しているものの名前を渡すと、そのオブジェクトの中で最初に見つかったマッチするものを提供します。

FindFirstChildpartParent変数に、探すべき子として「Humanoid」を指定して呼び出し、その結果をhumanoidという新しい変数に格納します。

local lava = script.Parent
 
local function killPlayer(otherPart)
    local partParent = otherPart.Parent
    local humanoid = partParent:FindFirstChild("Humanoid")
    if humanoid then
 
	end
end
 
lava.Touched:Connect(killPlayer)

ヒューマノイドのチェック

ヒューマノイドが見つかったかどうかは、if文を使って簡単に確認することができます。if文のコードは、最初の行で定義された条件が真である場合にのみ実行されます。

humanoid を条件とする if 文を作成します。

local lava = script.Parent
 
local function killPlayer(otherPart)
    local partParent = otherPart.Parent
    local humanoid = partParent:FindFirstChild("Humanoid")
    if humanoid then
 
	end
end
 
lava.Touched:Connect(killPlayer)

ブール論理
Luaでは、falseまたはnil(空の値)以外の値は条件ステートメントでtrueと評価されるため、この場合humanoid、条件として直接使用できます。


キャラクターの健康状態の設定

ヒューマノイドがチェックされたので、そのプロパティを変更することができます。HumanoidのHealthプロパティを0にすると、関連するキャラクターは死亡します。

if文の本文で、HumanoidのHealthプロパティを0に設定します。

local function killPlayer(otherPart)
    local partParent = otherPart.Parent
    local humanoid = partParent:FindFirstChild("Humanoid")
    if humanoid then
        humanoid.Health = 0
    end
end
 
lava.Touched:Connect(killPlayer)

これで、溶岩の床完成です。この溶岩によってプレイヤーが接触して死亡することを確認してください。

この溶岩を、オビーやゲームワールドの境界線に使ってみてください。

最終コード-KillPlayer

Final Code - KillPlayer
local lava = script.Parent
 
local function killPlayer(otherPart)
    local partParent = otherPart.Parent
    local humanoid = partParent:FindFirstChild("Humanoid")
    if humanoid then
        humanoid.Health = 0
    end
end
 
lava.Touched:Connect(killPlayer)
最終コード入力
飛び込みます
無事、バラバラになってゲームオーバーになりました。



以上、【触れると即ゲームオーバー⁉】日本語版RobloxStudioではじめる
ゲームの作り方講座~基本的なコーディング編⑤~でした。

参考になったらスキボタン ♡⇒♥ 
よろしくお願いします!

  1. オリジナル
    #タダスキルライブラリー

  2. 募集中のお題企画
    #つくってみた #ゲームの作り方

  3. 投稿内容
    #RobloxStudio #ロブロックス #はじめての

  4. 人気
    #タコボンド #イカゲーム #

この記事が参加している募集

ゲームの作り方

つくってみた

この記事が気に入ったらサポートをしてみませんか?