조회 수 1320 추천 수 5 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부


군대 가기도 전에 일인데 시클라멘님이었던가....


 


최대한 변수와 스위치를 적게쓰고 연산을 줄여서 적과 나의 거리를 구하는 방법을 공모했던 적이 있습니다.


 


그때는 생각이 안났는데 군대가 있는 동한 떠오르는게 있어서 적어봅니다.


 


카스테라 5를 뜯어보신분은 아시겠지만 적들의 원거리공격을 처리하기 위하여


저는 우선 무조건 직선으로 날아가는 총알을 만들어 놓은 후에


 


적이 공격할 타이밍이 되면 적의 위치를 변수로 구해서 총알을 적의 위치로 이동했습니다.


 


그럼 적이 총알을 발사한것처럼 보이죠.


 


 


이것도 같은 원리인것


말하자면 총알은 총알이되 주인공을 향해 이동하는 유도탄을 생각하면 되겠습니다.


 


게다가 이 총알은 보이지 않는다고 상상해 봅시다.


 


만약 [적과 나의 거리가 3칸 안일때 자고있던 적이 깨어나서 날 공격한다] 라는 상황.


 


보이지는 않지만 적은 계속해서 보이지 않는 유도탄을 쏩니다. 이 유도탄은 주인공에게 닿으면 적이 공격을 개시하는


범위 인식 이벤트라고 합시다.


 


범위 인식 이벤트의 행동은 이렇습니다


적의 좌표를 구해 적의 위치로 이동한 후


 


주인공을 향해 이동(이것을 적의 범위만큼 반복)


 


범위만큼 반복한 후에는 제자리로 이동합니다.


 


유도탄의 빠르기를 최대로 설정하면 모든것은 실시간으로 처리되는것처럼 보일 것이다.


범위가 커질수록 오차도 커지겠지만......화면을 초과하는 범위는 써먹을데도 없을것이라는 판단하에......


 



 


1.변수로 적의 좌표를 구함


 


2.구한 적의 좌표에다 범위인식이벤트(유도탄)을 이동시킴


 


3.유도탄은 범위만큼(예제에서는 3칸으로 정함)이동한후 다시 적의 위치로 이동


 


4. 2와 3을 반복하다가 유도탄이 주인공과 닿으면 적은 공격을 개시.


 


이 방법의 묘미는 적과 주인공 사이에 장애물이 있으면 적이 인식을 하지 못한다는것입니다.....


변수로 이걸 하자면 또 변수 깨나 소모될것.....


 


하하....변수 구해서 피타고라스 공식 구하는것보다 뛰어나지 않은가....


사실 2000시리즈의 인공지능이라봤자 칸 단위로 계산하기 때문에 계산법은 피타고라스 공식 쓰는게 더


정확하긴 해도 행동결과로 보면 똑같은것.......이지요....마사....


 


-견적표-


 


적 1체당 변수 2개가 필요하며 스위치는 1개가 필요합니다.


 


주인공위치변수는 필요없습니다.


 


 


 


이벤트의 속성을 손봐주면 풀숲은 통과하지만 벽은 통과못한다던가.....하는 응용이 가능할겁니다.


 


 


 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
701 언어/기타 [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집 file 황금상자 2017.07.14 702
700 언어/기타 JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기 title: 댓글러lklslel 2016.12.24 851
699 언어/기타 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요 file 마나님이 2016.11.08 908
698 언어/기타 게임의 버전을 짜 보자! - 유의적 버전 2.0.0 Yanggaeng 2016.06.07 1123
697 언어/기타 RPG게임 뻔한요소들. 8 title: 천무천무 2015.10.05 1644
696 언어/기타 자바스크립트와 관련해서 참고할 만한 사이트들 3 MARCO 2015.10.04 921
695 언어/기타 꿀잼이군요! 3 사람님[대회참가] 2015.05.20 873
694 언어/기타 [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계 title: 천무천무 2015.04.02 636
693 언어/기타 오다 주웠습니다. 9 사람님[대회참가] 2015.03.30 917
692 언어/기타 무료 이미지 사이트 Pixabay! 9 file 나작소 2015.03.28 909
691 언어/기타 페인터(코럴) 브러쉬 세팅 공유 :) 8 file 샤이귤군 2015.03.28 1577
690 언어/기타 유화재료 & 기법 살짝 팁 공유 (매우 깁니다 -3-) 11 file 샤이귤군 2015.03.28 912
689 언어/기타 픽사에서 텍스쳐 꽁짜로 뿌림ㅋ 8 사람님(대회참가) 2015.03.26 912
688 언어/기타 멀티해상도에 따른 속도와 가속도 값의 조절 1 MiDtics2 2013.01.13 859
687 언어/기타 [Android] 멀티스크린 노하우 2 MiDtics2 2012.10.27 1516
686 언어/기타 [js] 코드 압축 걸음마 2 1 2012.06.12 1059
685 언어/기타 [css] css 겉핥기 핥핥 1 file 2012.05.03 938
684 언어/기타 [css, js] form - select안의 option들에 스타일 적용하기 4 file 2012.04.28 5364
683 언어/기타 게임,개발기획의 기초 5 Grand 2011.08.01 2901
682 언어/기타 지형설정에서 원경(앞, 뒤)가 가지는 역할 file Dicky 2011.07.28 2491
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 36 Next
/ 36


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)