第16回 ~オブジェクトの関数~

オブジェクトの多くはプロパティの他、関数が付いています。プロパティは位置や色などの属性を表しますが、関数はオブジェクトの「機能」ということになります。プロパティと関数の違いを理解しましょう。

登場する英単語

英単語読み方解説
Shapeシェープ「形」
PartTypeパートタイプパーツの形状
Ballボール「球」
Cloneクローン複製する関数
Functionsファンクションズ関数群
mathマスLuaの標準ライブラリの1つ、算術系
randomランダムmathの関数、乱数を発生させる
FindFirstChildファインド・ファースト・チャイルド子供を見つける
Cameraカメラカメラオブジェクト
Terrainテライン地形オブジェクト
nilニルLuaのキーワード、「何もない」を表す
Destroyデストロイ「破壊」 オブジェクトを消去する関数
breakブレイクLuaのキーワード、制御文からの強制脱出

チェックポイント

  • Partのプロパティ「 Shape 」はEnum型
  • math」は、Luaの標準ライブラリ(関数群)
  • 「math.random(A,B)」で、AからBの範囲のランダムな数字が作れる
  • 「FindFirstChild」という関数は、子供を見つけるもの
    見つかった場合は、そのオブジェクトを、見つからなかった場合は「nil」を返す
  • nil」はカラを表すLuaのキーワード
  • wait関数は常にtrueを返すので、「while wait() do」で無限ループが作れる
  • Destroy」はオブジェクトを消去する関数
  • for、while、repeat~untileのループから強制的に抜け出したい場合は「break」を使う

local part = Instance.new("Part")
part.Shape = Enum.PartType.Ball
part.Name = "Ball"
part.Anchored = false

for i=1,10 do
    local p = part:Clone()
    local x = math.random(-50,50)
    local y = math.random(5,50)
    local z = math.random(-50,50)
    p.Position = Vector3.new(x,y,z)
    p.Parent = game.Workspace
    wait(0.5)
end

while wait(0.5) do
    local p = game.Workspace:FindFirstChild("Ball")
    if p then
        p:Destroy()
    else
        break
    end
end

コメントを残す