본문 바로가기

게임 개발 공부 정리

[RS] 20-12-05 ~ 06 정리

카메라 이동

F : 선택 된 오브젝트에게 카메라 이동

Ct + Y : 실행 취소 되돌리기

Ct + G : 그룹

Ct + U : 그룹 해제

 

플레이어 체력 변경

Humanoid:TakeDamage(50)

Humanoid.Health -= 50

KORsoll.Head:Destroy()

 

이벤트 함수 연결

script.Parent.Touched:Connect(fun(hit))

 

이벤트 함수 생성과 함께 연결

script.Parent.Touched:Connect(function(hit)

end)

 

인스턴스 생성

local a = Instance.new("Explosion", Workspace)

print(a.Position)

 

인스턴스 내 특정 차일드 인스턴스 존재를 체크 (이름으로 판단)

Parent:FindFirstChild("Humanoid_Part")

만족할시 파라미터 값 그대로 반환

불만족시 false 반환

 

플레이어가 서버에 추가될때, 플레이어 타입 매개변수를 넘겨준다

game.Players.PlayerAdded:Connect(function(plr)

 

캐릭터 매개변수를 토대로 캐릭터를 조종하는 플레이어를 반환한다.

game.Players:GetPlayerFromCharacter(hit.Parent)

 

조건에 따른 대입을 동시에 하는 문법

local jeomsu = 3

local a = (jeomsu == 1) and "점수는 1점이다"

or (jeomsu == 2) and "점수는 2점이다"

or (jeomsu == 3) and "점수는 3점이다"

or "점수는 1점도 2점도 3점도 아니다"

 

조건에 따른 대입을 동시에 하는 문법 - 함수 파라미터 적용

Humanoid:TakeDamage( lvl <= 10 and 100

or lvl < 20 and 50

or -100 -- +100을 해주게 되는것이다

)

 

플레이어의 캐릭터를 리스폰한다

plr:LoadCharacter()

 

Repeat 반복문 : 조건이 참이 아닌동안 반복 한다

While과 다르게 우선 실행을 반드시 한번 한 후 조건을 확인하게  된다

local i = 10

repeat

i += 1

until not(i == 0)

 

Pepeat2 - Wait 무한 반복

until not(wait())

 

While 반복문

local Circle = game.Workspace.Circle

while true do

wait()

Circle.Position += Vector3.new(0.1 , 0, 0)

end

 

While2 - Wait 무한 반복

while wait() do

 

While3 : 스튜디오 내에서 존재하지 않는 이벤트를 실행하고 싶을때 While로 항시 체크하여 유저 이벤트를 만들 수 있다.

 

for문 : i는 따로 생성을 안해도 되고 3번째 값 또한 생략 가능하다

for i = 1, 20, 5 do

print(i)

end

 


테이블 

: 변수내 문자열 변수는 Key라고 칭한다

 

local tabl2 = {1, ["Name"] = 111, 5, ["Name2"] = 9 }

 

print(tabl2["Name"]) --111

print(tabl2[4]) --nil을 반환한다

print(tabl2[2]) --5

print("테이블의 갯수를 출력합니다 : ", #tabl)

 

 

Key 인덱스 값과 테이블 인덱스 값 우선순위

local tabl2 = {

2,

[1] = "PAPAPA"

}

 

print(tabl2[1])

print(tabl2[1])

출력 : "PAPAPA" "PAPAPA"

 

문자열 Key 값 생략

local tabl2 = {

2,

[1] = "PAPAPA",

Key1 = "Key1 Data", --생략이 가능하다

["Key2"] = "Key2 Data"

}

 

print(tabl2[1])

print(tabl2[1])

print(tabl2["Key1"])

print(tabl2["Key2"])

 

선언 후 새로운 인덱스 생성과 동시에 대입

테이블 사이즈는 Key를 인식하지 않고 센다


물건안에 들어간 스크립트가 색깔을 바꾸는 스크립트

 

A : IsA("BasePart")

bool 리턴

인스턴스를 스크립트, 베이스 파트 등등 종류로 판별한다.