【Roblox】Roblox の開発メモ(随時更新)

Roblox
  1. Roblox Lua
    1. 演算子
      1. 比較演算子
      2. 論理演算子
      3. 連結演算子
    2. 宣言・初期化・定義
      1. 変数
      2. 配列
    3. 繰り返し文
      1. while
      2. foreach
    4. 条件分岐
      1. if
    5. 配列
      1. 要素数を取得する
    6. インスタンスや値の取得
      1. サービス
      2. ローカルプレイヤー
      3. 親オブジェクト
      4. 子オブジェクト
      5. Player の Model
      6. PlayerGui
      7. 座標
      8. ReplicatedStorage
      9. Players
    7. 関数の登録
      1. 毎フレーム実行する関数を登録する
      2. パーツに触れた際に実行する関数を登録する
      3. プレイヤーがゲームに参加した際に実行する関数を登録する
    8. 型変換
      1. → string
      2. number(小数)→ number(整数)
    9. 判定
      1. そのインスタンスが指定のインスタンスの子孫かどうかを判断する
      2. そのインスタンスのクラスが指定のクラと同等か、その派生クラスかを判断する
    10. その他
      1. 関数の登録を解除する
      2. コメント
      3. 待機
      4. アニメーション
  2. サービス
    1. Workspace
    2. Players
    3. Lighting
    4. MaterialService
    5. NetworkClient
    6. ReplicatedFirst
    7. ReplicatedStorage
    8. ServerScriptService
    9. ServerStorage
    10. StarterGui
    11. StarterPack
    12. StarterPlayer
    13. Teams
    14. SoundService
    15. TextChatService
    16. RunService
  3. スクリプト
    1. Script
      1. 動作環境
      2. 主な使用用途
      3. 配置場所
    2. LocalScript
      1. 動作環境
      2. 主な使用用途
      3. 配置場所
    3. ModuleScript
      1. 動作環境
      2. 使用用途
      3. 配置場所
  4. その他
    1. エディタ操作
      1. スナップ値の変更
      2. 複数クライアントでのプレイ
      3. エディタ言語の変更
    2. プロパティ
      1. プレイヤーの視点を一人称視点に変更する
      2. 特定のパーツが重力の影響を受けないようにする
      3. スクリプトの無効化
  5. お問い合わせ

Roblox Lua

演算子

比較演算子

記号意味
<小なり
<=以下
>大なり
>=以上
~=不等号
==等号

論理演算子

記号意味
and左辺と右辺が true(他言語の「&&」)
or左辺もしくは右辺が true(他言語の「||」)
nottrue と false を逆転させる(他言語の「!」)

連結演算子

{ string 型の値} .. { string 型の値}

宣言・初期化・定義

変数

#型を指定しない場合
local {変数名} = {初期値}

#型を指定する場合
local {変数名}:{型名} = {初期値}

配列

local {配列名} = {{値1}, {値2}, {値3}}

繰り返し文

while

while {条件} do
    -- 繰り返したい処理
end

foreach

for i, {変数名} in pairs({配列の値}) do
    -- 繰り返したい処理
end

条件分岐

if

-- 条件にインスタンスをそのまま渡す事で「nil ではない時」という nil チェックが出来る
if {条件} then
    -- true の場合の処理
else
    -- false の場合の処理
end

配列

要素数を取得する

#{配列の値}

インスタンスや値の取得

サービス

game:GetService("{サービス名}")

ローカルプレイヤー

game:GetService("Players").LocalPlayer

親オブジェクト

{子オブジェクトのインスタンス}.Parent

子オブジェクト

#指定したオブジェクトの出現を待たずに取得
{親オブジェクトのインスタンス}:FindFirstChild("{子オブジェクト名}")

#指定したオブジェクトが出現するまで待ってから取得
{親オブジェクトのインスタンス}:WaitForChild("{子オブジェクト名}")

Player の Model

{ Player 型のインスタンス}.Character or { Player 型のインスタンス}.CharacterAdded:Wait()

PlayerGui

{ Player 型のインスタンス}:WaitForChild("PlayerGui")

座標

{ BasePart 型のインスタンス}.Position

ReplicatedStorage

game.ReplicatedStorage

Players

game.Players

関数の登録

毎フレーム実行する関数を登録する

local function {関数名}(deltaTime:number)
    -- 毎フレーム実行したい処理
end

{ RunService 型のインスタンス}.Heartbeat:Connect({関数名})

パーツに触れた際に実行する関数を登録する

local function {関数名}(otherPart:BasePart)
    -- パーツに触れた際に実行したい処理
end

{ BasePart 型のインスタンス}.Touched:Connect({関数名})

プレイヤーがゲームに参加した際に実行する関数を登録する

local function {関数名}(joinedPlayer:Player)
    -- プレイヤーがゲームに参加した際に実行したい処理
end

{ Players 型のインスタンス}.PlayerAdded:Connect({関数名})

型変換

→ string

tostring({変換前の値})

number(小数)→ number(整数)

-- 小数点以下切り捨て
math.floor( number 型の値)

判定

そのインスタンスが指定のインスタンスの子孫かどうかを判断する

{子クラスのインスタンス}:IsDescendantOf({親クラスのインスタンス})

そのインスタンスのクラスが指定のクラと同等か、その派生クラスかを判断する

{インスタンス}:IsA("{クラス名}")

その他

関数の登録を解除する

local connection

connection = {インスタンス}.{イベント名}:Connect({関数名})

-- 登録を解除
connection:Disconnect()

コメント

-- コメント

--[[
 コメント
--]]

待機

wait({ number 型の値})

アニメーション

local tweenService = game:GetService("TweenService")

local goal = {}

goal.Position = { Vector3 型の値}

local tweenInfo = TweenInfo.new({ number 型の値}, { EasingStyle 型の値}, { EasingDirection 型の値})

local tween = tweenService:Create({ Instance 型のインスタンス}, tweenInfo, goal)
	
tween:Play()

サービス

Workspace

Workspace は、Roblox内で最も重要なサービスの一つであり、ゲームのメインの物理環境を表します。Workspaceはゲーム内で動き回り、相互作用することができる全てのオブジェクト(例えばパーツ、モデル、キャラクターなど)を保持します。これらのオブジェクトは、それぞれが独自の物理的特性(位置、速度、形状など)を持つため、これら全てを一緒に管理するための”コンテナ”としてWorkspaceが働いています。

Workspace

Players

Players は、Robloxゲームに接続している全てのプレイヤーを追跡するためのサービスです。このサービスはゲームに参加している各プレイヤーについての情報を格納し、その情報を管理します。

Players

Lighting

Lighting サービスは、ゲームの照明と天候の設定を制御します。このサービスは、ゲーム内の日の出や日の入り、雲の量、雨や霧などの環境効果などを管理します。

Lighting

MaterialService

デフォルトのマテリアル テクスチャを変更するサービスです。

MaterialService

NetworkClient

This service is responsible for connecting a client to a server.

NetworkClient
このサービスは、クライアントとサーバーの接続を担当する。

ReplicatedFirst

ReplicatedFirst はRobloxのサービスで、一部のスクリプトやアセットをクライアント(プレーヤーのデバイス)に最初にロードするために使われます。このサービスの主な用途は、ゲームの初期ロード画面やロード中のアニメーションなど、ゲームが完全にロードされる前に表示したいコンテンツを管理することです。

ReplicatedFirst

ReplicatedStorage

ReplicatedStorage は Roblox のサービスで、データをクライアント(プレイヤーのPC)とサーバー(ゲームのホストコンピュータ)間で共有するための特別な場所を提供します。ReplicatedStorage に格納されたデータは、クライアントとサーバーでアクセス可能です。そのため、リモートイベントやリモート関数、またはクライアントとサーバー間で共有する必要のあるその他のデータを格納するのによく使われます。

ReplicatedStorage

ServerScriptService

ServerScriptService は、Robloxのサービスの1つで、ゲームのサーバー側で実行されるスクリプトを保管するための場所を提供します。これには Script および ModuleScript が含まれます。これらのスクリプトはサーバー側でのみ実行され、プレイヤー(クライアント側)からはアクセスできません。
ServerScriptService はゲームのバックエンドのロジックを記述するための場所で、プレイヤーのアバターのスポーンやリスポーンの管理、データストアの操作、プレイヤーのインベントリ管理などの処理を行うために使われます。

ServerScriptService

ServerStorage

ServerStorage は Roblox のサービスの1つで、主にサーバー側のスクリプトからのみアクセス可能なデータやオブジェクトを保管するための場所を提供します。クライアント(プレイヤーのPC)からは ServerStorage にアクセスすることはできません。

ServerStorage

StarterGui

StarterGui は Roblox でのゲームデザインにおいて非常に重要な要素です。これはGUI(Graphical User Interface)要素を管理するサービスで、画面上にボタン、テキスト、メニューなどを表示するために使用されます。StarterGui 内に格納されているGUIオブジェクトは、新しいプレイヤーがゲームに参加するときにそのプレイヤーの PlayerGui にコピーされます。

StarterGui

StarterPack

StarterPack は Roblox でプレイヤーがゲームに参加したときにそのプレイヤーのバックパック(インベントリ)に自動的に追加されるアイテムを格納する場所です。これはツール、武器、ギアなど、プレイヤーがゲームの中で使用することができるオブジェクトを含みます。

StarterPack

StarterPlayer

StarterPlayer は、新たにゲームに参加する各プレイヤーに関する設定やプロパティを制御するためのサービスです。StarterPlayer 内の全てのスクリプトとモジュールスクリプトは、新しいプレイヤーがゲームに参加するたびにそのプレイヤーへコピーされます。
StarterPlayer 内には、StarterCharacterScripts と StarterPlayerScripts が存在します。キャラクターモデルに関するスクリプトは StarterCharacterScripts に、プレイヤーに関するスクリプトは StarterPlayerScripts に入れます。

StarterPlayer

Teams

Teams サービスは、ゲーム内でプレイヤーのチームを管理するためのものです。Teams の下にある各 Team オブジェクトは、個々のプレイヤーチームを表し、そのプロパティ(例えばチームの色、名前、得点など)を制御します。

Teams

SoundService

SoundService は、ゲーム全体の音を制御するための Roblox のサービスです。サウンドエフェクトの再生や停止、全体の音量調整、特定の音の音量やピッチ調整など、音声に関するさまざまな操作を行うことができます。

SoundService

TextChatService

プロパティの設定でチャットウィンドウの位置やサイズ、外観を変更するができます。

TextChatService

RunService

RunServiceとは、HeartbeatやRenderSteppedなどイベントにConnectすることで毎フレーム呼ばれる処理を作成できるサービスです。
また、コードがどのようなコンテキストで実行されているかを判断するフラグなどもRunServiceにはあります。

【Roblox】 RunServiceについて

スクリプト

Script

動作環境

  • サーバー

主な使用用途

  • ワールド上のアイテムや NPC 等の制御
  • サーバー内のオブジェクトやプロパティ等へのアクセス

配置場所

  • ServerScriptService
  • Workspace

LocalScript

動作環境

  • クライアント

主な使用用途

  • UI やカメラ等のクライアントのみが保持しているオブジェクトの制御
  • プレイヤーの入力検知

配置場所

  • Backpack
  • character(Model)
  • PlayerGui
  • PlayerScripts
  • ReplicatedFirst

ModuleScript

動作環境

  • サーバー
  • クライアント

使用用途

  • 再利用可能な関数や変数の宣言と定義

配置場所

  • ServerStorage

その他

エディタ操作

スナップ値の変更

エディタ上部の「MODEL」から「Rotate」と「Move」のスナップ値を変更できる。

複数クライアントでのプレイ

エディタ上部の「TEST」からプレイヤー数を設定して「Start」を押す。

エディタ言語の変更

FILE > Studio Settings > Studio > General > Language

プロパティ

プレイヤーの視点を一人称視点に変更する

Explorer で「StarterPlayer」を選択して「Properties > Camera > CameraMode」を「LockFirstPerson」に変更する。

特定のパーツが重力の影響を受けないようにする

「Properties > Part > Anchored」を true に変更する。

スクリプトの無効化

「Properties > Behavior > Enabled」を false に変更する。

お問い合わせ

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