-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
Start()와 Update()
21.05.12 08:38 작성 조회수 179
0
안녕하세요
Start()함수의 시작 타이밍(?)에 대해서 여쭤보고 싶어서요
항상 게임이 시작하면 호출되는 함수라고 생각을 했는데 강사님께서 게임오브젝트가 메모리에 올라가면 한번 호출 된다고 하셨잖아요.
이 말은 메모리에 올라가는 순간이 다르면 각각의 Start() 함수의 호출 시기도 다르다는 말이죠?
그럼 Update()의 경우에도, 최초의 호출 타이밍이 각 게임오브젝트마다 달라지겠네요?
음.... 그렇다면, 희박할 것 같긴한데 서로 다른 게임오브젝트의 Update() 호출 타이밍 때문에 엉키거나 하는 일은 발생하지 않나요?
답변을 작성해보세요.
0
UDevApp
지식공유자2021.05.12
안녕하세요
https://www.inflearn.com/questions/186513
여기에서 설명이 있는데 한번 보시면 좋을 것 같습니다. 더 자세하게 설명이 되어 있는데 우선 짧게 말씀드리면 다음과 같습니다.
예를 들어서 다음과 같이 실행되는데 플레이가 있고 적1이 있고 적 2가 있으면
왼쪽의 스타트1 이 실행될때 1-1 1-2 1-3 이 실행됩니다. 그런데 1-1,1-2,1-3의 순서는 정해져 있지 않습니다.
Update 도 마찬가지로 2-1,2-2,2-3이 다 실행되는데 현재 프레임에서 실행되고 나서 다음프레임으로 넘어갑니다.
그래도 이게 다 실행되고 나서 왼쪽의 Update 가 실행됩니다. 위의 링크 보시고 한번 만들어보시기 바랍니다. 이런 것도 작지만 만드는 것에 속하니까요. ^^ (보고 만들어보시고 안보고도 만들어보세요)
이것들의 순서를 정해줄수는 있는데 현재 플레이어는 PlayerScript 일 테고 적은 EnemyScript 일것입니다.
옵션상에서 스크립트 오더(Script Order)라는 것이 있어서 PlayerScript 가 먼저 실행될지 EnemScript 가 먼저 실행될지를 정해줄수는 있습니다.
Edit - Project Setting - Script Excution Order 로 들어가서 오른쪽 하단에 있는 버튼을 눌러 스크립트를 추가해주고 순서를 위아래로 조정해줄수 있습니다.
감사합니다. 좋은 하루 되세요 ^^
답변 1