작성자 | SCIILiberty.555 | ||
---|---|---|---|
작성일 | 2010-09-18 20:57:52 KST | 조회 | 6,591 |
제목 |
트리거에디터 알아보기 - 실습 1
|
자 이 실습편에서는 지금까지 배워온 함수를 이용하는 실습이 되겠습니다.
IF THEN ELSE, FOR문, 변수(배열)
이 4가지를 모두 이용하는 맵이 뭐가 있을까요?
바로 블러드류입니다. 블러드류는 맵중에 제일 간단하면서도 이 4가지를 연습할수있는
다시말해 맵만들기 기초를 다질수 있는 맵이 바로 블러드류란 말이죠.
자 뮤탈블러드, 저글링블러드, 불사조블러드, 밴시블러드 많은데여
전 저글링블러드 전공이므로 저글링블러드를 만들어 보도록 하겠습니다.
일단 요즘 맵들은 트리거에 조건을 넣는사람은 거의 없습니다.
거의 if then else를 이용하죠. 뭐 그건 상관없고
일단 트리거에디터 알아보기이므로 지형, 데이터는 무시하도록 하겠습니다.
일단 저글링블러드의 기본은 저글링 생성 이겠죠?
자 플레이어마다 저글링을 생산해 줍시다.
Parse웹사이트 - MapTrigger/======= MAIN =======/저글링 만들기
이벤트 - 1초마다 반복 이것은 말 그대로 1초마다 트리거를 반복하는 겁니다.
그다음 지역 변수 Players 는 for 문을 사용할 변수이고요
for문은 1부터 8까지 증가값이 1이니 Players를 1로바꿔서 한번반복, 2로바꿔서 한번반복, 3으로 .....
이런식으로 되는거겠죠?
그다음 if then else 조건문을 써줬는데요
조건을 플레이어 Players(변수)의 상태 == 플레이 중으로 잡았습니다.
정말로 Players(변수)의 상태가 플레이 중일경우 Then 으로 넘어갈 것이고
플레이 중이 아닐경우 Else로 넘어갈 것입니다.
Then 에는 플레이어 Players(변수)에게 저글링을 2마리씩 Players(변수)의 시작 지점에 생산되게 해놨구요,
Else 에는 전체지도에서 플레이어 Players(변수)의 모든 유닛을 선정하여 행동을 실행하게 한다음,
행동에서는 선정된 유닛을 게임에서 제거시키게 해놨습니다.
이렇개 해놓으면 기본 저글링 만들기는 완료된 것이죠.
자 가장 기초적인 저글링 만들기는 완료했습니다. 솔직히 이걸로도 저글링 블러드를 할수는 있겠지만 넘 재미없겠죠?
일단 저글링 블러드 초기화를 해줍시다.
Parse 웹사이트 - MapTrigger/======= INITIALIZATION =======/저글링 블러드 초기화
자 역시 for 문과 if then else 조건문을 사용했는데요
일단 초기화이니만큼 게임 - 지도 초기화를 써줬고
지도를 초기화할때 딱 한번 실행됩니다. 그러므로 게임에 꼭 필요한것만 넣어놓고 반복되야하는 경우는 여기에 넣으면 안되겠죠.
일단 순위표를 만들어 줍니다.
그다음으로 순위표를 일단은 저장해야겠죠?
저장시킨다음 for문 - if then else로 넘어갑니다.
역시 플레이어의 상태 = 플레이 중 일경우로 했고
then 은 순위표 1열과 Players 행이라고 설정했는데 이게 무엇이냐? 하면
for문을 사용했으니
1부터 8까지 증가값인 1을 변수에 더하면서 8까지 반복합니다.
그러니 조건이 플레이어 Players의 상태 의 Players의 값이 1일경우
순위표 1열과 Players행 의 Players 값도 1이 되겠죠
1열과 1행은 플레이어 Players의 이름)(으)로 설정해놨습니다.
그다음 2열 다시말해 2번재 열의 Player행에는 킬수를 표시하도록 해놨습니다.
변수 킬수[Players] 로 되있는데여
내가 여기서 변수의 배열을 사용한 이유는 킬수를 8개 만들수는 없지 않겠습니까? 더구나 8개를 만들고 작업을 하게되면은 for 문을 사용할수가 없게 됩니다. 그리고 자리 절약도 안되겠지요.
일단 배열을 사용하여 8개로 늘린다음 킬수[배열:Players]으로 설정해 놓은 것이지요
*텍스트에서 변수 <정수>를 사용하려면 변환 - 정수를 텍스트로 변환 을 써줘야 합니다.
그다음 Else는
위에랑 똑같은데 단지
1열과 Players행에 텍스트를 게임 나감 으로 바꿔준것 뿐입니다.
조건인 플레이어 게임 중 에 맞지 않을 경우
게임 나감으로 설정되는거죠.
자 이제 초기화도 완료했습니다.
이제 킬수를 어떻게 변수에 저장하느냐? 이벤트로 저글링이 죽을때마다 하나하나 저장할까요?
그건 미친짓이죠...
Parse 웹사이트 - MapTrigger/======= MAIN =======/킬수
에 보시면 이벤트가 바뀌었죠?
유닛 - 아무 유닛 소멸
말그대로 아무 유닛이 어떤 방식을 써서든 소멸되면 트리거가 발동됩니다.
트리거로 죽이든(제거는 해당안됨), 유닛이 직접 죽이든, 스킬을 쓰든 뭐든 죽이는거면 다됩니다.
조건을 처음으로 달았네요. 이번에는 for문, if then else가 필요 없습니다.
((트리거 발동 유닛)의 소유자)는 뭘까요?
유닛이 소멸됬을때 소멸된 유닛의 소유자 가 이런 뜻입니다.
그다음 (처치하는 플레이어) 는 뭘까요?
말그대로 처치하는 유닛의 소유자 입니다.
요약하면 소멸된 유닛의 소유자 == 처치한 유닛의 소유자
이것을 조건으로 넣는 이유는 바로
자신이 자신것을 직접 죽여 킬을 얻는 것을 방지하기 위해서입니다.
그다음 변수를 설정해주는데 이번에는 변수 설정이 아닙니다.
변수 - 변수 수정 (정수)로 해주셔야 +, - 가 됩니다.
킬수 라는 변수에서 배열(처치하는 플레이어)를 반환한 이유는 아시겠죠?
킬수를 8개로 불려서 플레이어들의 것을 하나하나 다 만들어 줬으니
당연히 킬수에 +1할 경우에도 처치하는 플레이어
즉 유닛이 소멸됬고 그걸 죽인 유닛이 플레이어 2이다
할 경우에는
변수 - 킬수[2] 수정: +1
이렇게 되는거죠.
순위표도 마찬가지입니다만... 순위표 텍스트 설정하는 함수를 외다시 넣었을까요?
초기화할때 설정되는 것은 한번 뿐입니다.
그다음 유닛을 죽이든 말든 변화가 없다 이말이죠.
그러니 유닛이 소멸할때마다 주기적으로 순위표 업데이트를 시켜줘야 하기 때문에 이렇게 한것입니다.
자 이제 영웅만 만들면 기초적인 저글링 블러드는 완성되겠죠?
Parse 웹사이트 - MapTrigger/======= MAIN =======/영웅 만들기
이번에는 for문과 if then else 조건문을 같이 사용했습니다.
그리고 이벤트를 아무 유닛 소멸로 했죠.
외냐 유닛이 소멸할때 킬수가 올라가고 킬수가 올라가야만 100킬 조건을 만들 수 있으니까요.
조건은 아실겁니다만 좀 특이하죠?
새로운 >= 이 나왔습니다.
이건 뭘까요?
이것은 변수인 킬수[Players] >= 100 에서 > 즉 킬수[Players] 가 100보다 클경우를 계산하는건데
그 뒤에 =가 붙어버리면 100보다 크거나 같을 경우 가 됩니다.
자 그러면 100킬을 달성했을때 가 되겠죠?
Then의 내용은
플레이어 Players에게 1개의 저글링 영웅을 생산해주는 겁니다.
아까 저글링 생산 트리거로 대충은 알고있을 테지요.
그리고 두번째는 텍스트 메세지를 표시하는 겁니다.
자막 영역은 말그대로 자막 영역이고요, 플레이어가 말할때 텍스트가 나오는 장소 이기도 합니다.
플레이어 그룹(Players)는 뭘까요?
텍스트 표시 에서 플레이어 개인 설정은 안되고 단체만 됩니다.
즉 플레이어 그룹만 설정 가능하다는 말이죠. 그렇다면 모든 플레이어 에게 표시 밖에 안되겠죠?
그럼 변환을 씁시다. 플레이어를 플레이어 그룹으로 변환 을 쓰면
플레이어 그룹(1)이렇게 뜰겁니다. 그렇다면 이 1을 Players로 바꿔주면 됩니다.
그다음 100킬을 했을때 텍스트를 설정하면 되겠죠.
저글링 블러드 초기화
저글링 만들기
킬수
영웅 만들기
의 과제를 모두 완료했습니다. 이제 저글링 블러드가 완성 되었습니다.
다시한번 말하지만 지형, 데이터에 대해서는 언급하지 않습니다.
저는 지형쪽으로는 아예 재능이 없고 데이터쪽도 재능이 거의 없습니다.
어쨋든 이것으로 첫번째 실습을 마칩니다.
마지막으로 이번 강좌에 쓴 함수 들은
If then else, 변수(배열), for 문 이 4가지 입니다.
© PlayXP Inc. All Rights Reserved.