Hello, any idea how I can use the IsA () method?
IsA () is similar than “Thing.ClassName”. It is just shorter and faster to use IsA
Example:
for _, Child in pairs(script.Parent:GetChildren()) do
if Child.ClassName == "Part" then
--Code
end
end
for _, Child in pairs(script.Parent:GetChildren()) do
if Child:IsA("Part")then
--Code
end
end
Depends on what you need.
For example:
for i, v in pairs(game.Workspace:GetChildren()) do
if v:IsA("Model") then
print(v.Name .. " is a model!")
end
end
Just a simple example
IsA
checks the Instance’s ClassName and includes superclasses as well.
example
local part = workspace.Part
print(part:IsA("BasePart")) --> prints 'true' because the class 'Part' is a subclass of 'BasePart'
print(part:IsA("Part")) --> print 'true' because the className of 'Part' is 'Part'
IsA()
is basically just checking the ClassName
property but it respects inheritance
Example
local part = workspace.Part
print(part.ClassName == "Instance") --False
print(part:IsA("Instance")) -- true
It is slightly slower than checking the ClassName property, so only use it if Inheritance maters for you
IsA checks its class hierarchy, not just its classname
For example:
A part consists of: Part → BasePart → PVInstance → Instance
A frame consists of: Frame → GuiObject → GuiBase2D → Instance
Roblox uses this system of classes in accordance with the rules of object oriented programming, in that anything that two things share in common should only be written once
A part and a frame share one thing in common: They are both instances, so they “inherit” the functions, properties, and events of the base instance class such as :Destroy()
, .Name
, etc.
Rather than rewriting all of these functions and properties and events, roblox simply says “this is an instance and inherits the necessary functions all located in one place, so we dont have to rewrite all of that code 500 times for every new thing we add”
So, simply put, :IsA() searches the class and all of the classes which it inherits
Thank you all very much for your comments, you have helped me a lot in my learning!
No worries! Happy Programming my man
Hope to see a game coming out soon?
Thanks you sir! Of course, I will post something soon!