본문 바로가기

스타크래프트2 에디터/에디터 강의

23. [트리거] 행동



다음 강의부터 실전에 쓰이는 트리거를 알아보기 때문에, 

행동이 돌아가는 원리(?)와 몇 가지 유용한 것들만 소개해드리면서

이번 강의도 짤막하게 하겠습니다.


먼저 유닛과 관련된 행동에서 유닛을 선택하는 법입니다.

유닛의 체력, 에너지, 방어력 등을 설정하는 유닛 속성 설정 입니다.


지도 상에 배치된 유닛을 선택할 경우에는 '값'을 선택합니다.

현재 지도상에 유닛을 배치하지 않았으므로 아무 것도 나타나지 않습니다.


함수에서 어떤 방식으로 생성된 유닛인지를 반환할 수도 있습니다.


미리 만든 유닛 변수를 이용해서 변수에 저장된 유닛을 불러오는 경우도 있습니다.


특정 유닛 그룹의 유닛에게 모두 행동을 적용하고 싶을 때는 어떻게 해야 할까요?


바로 유닛 그룹 레이블에 있는 "플레이어 그룹의 각 유닛 선정"을 이용합니다.


행동을 선택하면 위와 같이 유닛 그룹을 선택 가능합니다.


특정 구역 내에 있는 유닛들에게 행동을 적용하고 싶다면

조건 강의에서 봤던 조건에 일치하는 구역 내 유닛 을 이용하여

구역 혹은 전체 지도에 존재하는 특정 유닛 혹은 모든 유닛에게 행동을 적용하게 할 수 있습니다.


단, 이를 위해선

행동에서 유닛을 선정된 유닛으로 설정해주셔야 합니다.


다음은 변수와 관련된 행동입니다.

앞 강의에서 변수에 대해 설명할 때, 변수 설정은 설명 드렸습니다.

그 근처에 보이는 변수 수정이 있는데요, 이것은 정수 혹은 실수 변수에만 사용됩니다.

특정 유닛이 적 유닛을 죽였을 때 주로 사용할 수 있는 행동입니다.



추천 눌러주세요 ^^



레이블 '일반'에서는 중요한 것 몇 개를 찾아볼 수 있습니다. 프로그래밍에서도 찾아볼 수 있는 것이 많습니다.


먼저 For문.

행동을 반복할 때 사용됩니다.

단순히 반복만을 하고 싶을 때는 '반복'이라는 행동을 쓰면 되겠지만,

For문은 변수를 사용하기 때문에 유용합니다.

프로그래밍에서는 단순 반복일 때에도 For문을 이용하지만,

에디터에서는 For문이 차별화된 기능입니다.


다음은 if then else 문입니다.

프로그래밍에서는 then이 없습니다만

여기선 행동을 표시하기 위해서 then이란 것을 집어넣은것이지 똑같습니다.

if에 조건을 넣고

조건에 맞으면 then 이하를 실행

조건에 맞지 않으면 else 이하를 실행합니다.


while 반복문입니다.

프로그래밍의 do ~ while 문과 비슷합니다.

조건이 만족되지 않을 때까지 행동을 실행합니다.

조건이 만족될 일이 없으면 무한 반복이겠죠. 그럼.... 렉이 걸려요.

대기 트리거입니다.

행동과 행동 사이에 시간 간격을 줍니다.


그리고 나머지... 무한 반복은 설명에서처럼 중단 혹은 남은 행동 건너뛰기 가 없으면 무한 반복합니다.

대기 트리거와 같은 시간이 비교적 걸리는 트리거라면 괜찮지만,

그게 아니라면 당연히 포풍 렉이 발생합니다.

특별한 경우가 아니라면, 무한 반복은 컴퓨터에 해로우니까, 덜 쓰세요.


위에 보이는 전환 문은 프로그래밍에서의 Switch문과 같습니다.

if then else문이 편하기 때문에 그닥 쓸일은 없습니다.


마지막으로 레이블 '트리거'를 봅시다.


먼저 트리거 켜기/끄기 전환이 있습니다.

끄기 상태로 설정하면, 이벤트가 만족되어도 트리거가 실행되지 않습니다.

디펜스 맵에서 주기적으로 몹이 생성되는데, 한 라운드에서만 그 트리거가 필요하기 떄문에,

라운드 시작 시에 켜고, 라운드 종료 시에 끄기 위해 사용되는 행동입니다.


지도 초기화 시에 행동을 끄게 할 수도 있지만, 일일이 하기 귀찮으니

이렇게 트리거를 마우스 오른쪽 버튼 클릭해서

시작 시 켬을 해제해주면 편합니다.


다음은 트리거 실행입니다.

한 트리거에서 다른 트리거가 이벤트와 상관없이 실행되게 할 수 있습니다.

이벤트는 상관없지만, 조건은 확인할 지 안 할지 결정할 수 있습니다.

그리고 트리거가 끝날 때까지 대기하는지 여부도 설정합니다.


마지막으로 트리거 건너뛰기 허용 인데요.

캠페인에서 영상 재생시에 Esc키를 누르면 영상이 끝나고 게임을 바로 진행하는데요, 이 트리거를 사용합니다.

블리자드 공식 유즈맵인 사지의 사투 인트로를 보면, 두 플레이어가 모두 Esc 키를 눌러야 영상이 건너뛰어 지는데, 요구 개수를 설정해서 입니다. 기본적으로 모두로 설정되어 있는데, 플레이어 수만 생각하기 때문에 플레이어가 한 명이라면 한 명만 눌러도 건너뛰어 집니다.

건너뛰기 후에 어떤 트리거가 실행되는 지도 설정가능 합니다.

트리거 실행처럼 조건 확인과 대기 옵션도 설정 가능합니다.



이상으로 기본적인 행동과 관련한 강의를 마칩니다.

다음부터는 실전 강의로 들어가도록 하겠습니다.