Nexon Supporters Hackathon 06

이태곤·2022년 9월 27일
0
post-thumbnail

Index

  1. 스크립트 만들기

  2. 스크립트 기본적인 문법

  3. Create Component

  4. Create Logic


스크립트 만들기

  • Workspace -> MyDesk(우클릭) -> Create Scripts -> Create Component or Create Logic

cf) 단순한 스크립트로써의 기능만 제공하는 Create Script보다는 다양한 기능을 제공하는 Create Component 또는 Create Logic을 주로 사용한다.


스크립트 기본적인 문법

  • local : 변수를 선언할때 사용되는 키워드

  • for 초기값, 끝값, 증감연산 + 실행문 + end : 특정 연산, 동작을 반복할 때 사용

ex) for i = 1, 10, 1 do --> 1부터 10까지 1씩증가하며

tot = tot + i --> tot변수에 i를 더한값을 tot에 저장

end --> for문 종료

  • log : 특정 문구나 값을 출력할때 사용되어지는 함수
  • if 조건 then 실행문 ~ elseif 조건 then 실행문 ~ else 실행문 : 특정한 Condition을 만족할 경우에만 실행문이 동작하도록 작성된 조건문

ex) if i % 2 == 0 then --> 만약 i가 짝수라면

tot = tot + i --> tot변수에 i를 더한값을 tot에 저장

end --> if문 종료


Create Component

  • 월드 내에서 여러개가 존재할 수 있으며 Entity에 작성한 Component를 추가해야 작동하게된다.


ex) 노란슬라임에 "start"문구를 출력해주는 MyFirstScript Component를 추가함으로써 Console에 "start"가 출력된 것을 확인할 수 있다.

  • Component를 담고 있는 Entity의 갯수에 따라 실행횟수가 결정된다.


ex) 슬라임 3마리가 각각 MyFirstScript Component를 가지고있으므로 "hello" 3번 출력하게된다.

  • Property를 만들 수 있으며 초기값 설정또한 가능하다. 만들어진 property들은 오른쪽 그림과 같이 패널상에 노출되게된다.

  • 가장 많이사용되는 함수

-> OnBeginPlay : 월드가 처음 실행될 때 호출되어지는 함수

-> OnUpdate : 프레임마다 주기적으로 호출되어지는 함수

-> OnEndplay : 실행종료가 될 때 마지막으로 호출되어지는 함수


  • self 키워드를 통해서 작성한 Component를 가지고있는 Entity의 특정 Component->Property값을 변경할 수 있다.

ex)

  • self.Entity.TransformComponent.Scale --> 작성한 컴포넌트를 가지고있는 Entity의 TransformComponent의 Scale을 scale 변수에 저장

  • self.Entity.SpriteRendererComponent.Color --> 작성한 컴포넌트를 가지고있는 Entity의 SpriteRendererComponent의 Color를 color변수에 저장



  • for문을 3번 돌면서 x,y scale을 0.5씩키워서 커진 핑크빈의 모습

  • for문 종료후 핑크빈 color를 green으로 변경한 모습

Create Logic

  • 월드 내에서 단 한개만 존재하며 Entity에 Component를 추가하지 않더라도 고유한 존재이므로 자동으로 함수가 동작하게 된다.


ex) 노란슬라임에 MyFirstLogic을 추가하지 않았음에도 "this is logic"문구가 출력된 것을 확인할 수 있다.

0개의 댓글