ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유니티 반복문 for 정리 / 이중 for문 / Loop 루프문
    유니티(Unity)/유니티 코딩 2019. 2. 11. 13:03

    해당 티스토리 페이지는 필자가 유니티 C# 개발을 하면서 학습한 내용들을 기록하고 공유하는 페이지입니다 !

    - 틀린 부분이 있거나, 수정된 부분이 있다면 댓글로 알려주세요 !

    - 해당 내용을 공유 or 퍼가도 좋으나, 출처를 꼭 명시해주세요 !

    - 해당 글의 모든 저작권은 Chameleon Studio에 있습니다.

    - 방문해주셔서 감사합니다 ^^



    썸네일 이미지입니다.유니티 반복문 for/이중 for문 정리


    안녕하세요 카멜레온입니다 ㅎㅎ


    오늘은 반복문 중 하나인 for문에 대해서 알아볼까합니다.


    지난 포스팅에선 while문을 알아보았죠.


    for문은 정해진 값만큼 값을 더해나가면서


    처리를 해주는 반복문입니다.


    바로 예시를 봅시다.



    아래 코드를 캡처한 사진입니다.이미지가 안보이시는 분들은 아래 코드 보기를 누르고 코드를 확인해주세요.



    프로젝트를 열고 스크립트를 작성해봅시다.


    저는 미리 젤랑이 게임오브젝트에 스크립트를 넣어두었습니다.



    해당 코드가 바로 for문의 구조입니다.


    코드를 설명해보자면,,


    반복할 int의 최대치를 선언해줍니다.


    저는 int값의 Monster를 변수를 선언하여 10을 주었습니다.


    다음으로, 간단한 예제를 만들기 위해여 Start문에 for문을 넣었습니다.


    for문의 구조는,


    int i값을 선언하고; i가 변수 선언보다 작으면; i값을 1씩 올려준다(++);


    의 구조입니다.


    이렇게 하면, for문이 자동으로 0부터 9까지 훑어줍니다.


    중요한 것은 쉼표(,)로 for문을 나누는 게 아니고 세미클론(;)으로 for문을 나눕니다.


    현재 int i의 초기 값을 0으로 설정했고, Monster의 값 10보다 작으면, i를 1씩 더해서 for문을 돌리는 구조이니,


    0~9까지만 돌겠죠?


    그럼 스크립트를 저장하고, 유니티로 돌아와서 ▶을 눌러봅시다.




    시작하자마자 엄청나게 빠른 속도로 몬스터가 나왔습니다.


    영상에서 보이는 것처럼 for문은 빠른 처리 속도를 가지고 있습니다.


    꼭 필요한 경우가 아니라면, for문의 사용을 지양하는 것이


    CPU 관리에 도움이 될 것입니다.


    우리는 위에서 for문의 구조를 보기위하여 for문의 int값 이름을 i라고 하였습니다.


    사실 꼭 i라고 할 필요는 없습니다.


    자신이 보기에 편한 값으로 int값 명을 바꾸셔도 됩니다.


    한 번 바꿔볼까요?


    monster라고 바꿔봅시다.



    아래 코드를 캡처한 사진입니다.이미지가 안보이시는 분들은 아래 코드 보기를 누르고 코드를 확인해주세요.




    monster로 바꾸어보았습니다.


    그냥 i로 두었을 때보다 monster로 두니, 좀 더 와닿는 것 같습니다.


    이렇게 두고 스크립트를 저장한 후, 유니티로 돌아와 ▶을 눌러보겠습니다.





    i를 바꾸어도 for문이 잘 돌아가는 것을 확인했습니다.


    그렇다면, 이번에는 for문을 멈춰봅시다.


    지금은 9번 몬스터까지 나오고 있습니다.


    5번 몬스터가 나왔을 때 for문을 멈춰볼까요?


    스크립트로 돌아갑시다.



    아래 코드를 캡처한 사진입니다.이미지가 안보이시는 분들은 아래 코드 보기를 누르고 코드를 확인해주세요.




    이번에는 for문 안에 if 절을 넣어서,


    for문의 monster가 5가 되면 for문을 멈추라고 해봅시다.


    해당 코드를 추가한 후 유니티로 돌아와서 ▶을 눌러보죠.





    5번 몬스터까지만 나오고 더 이상 for문이 돌지 않는 것을 확인했습니다.


    이렇게 break를 사용하면 반복문을 멈출 수가 있습니다.


    다음으로는 이중 for문에 대해서 알아봅시다.


    이중 for문이란, for문 안에 또 for문을 넣는 것을 말합니다.


    스크립트로 돌아옵니다.



    아래 코드를 캡처한 사진입니다.이미지가 안보이시는 분들은 아래 코드 보기를 누르고 코드를 확인해주세요.




    이렇게 이중 for문 예제를 만들어보았습니다.


    간단하게 코드를 설명해드리면,


    몬스터 밑에 AngryMonster 변수를 만들었습니다.


    얘네는 Monster의 부하라고 생각합시다.


    그리고 기존에 만들었던 break를 지우고, for문 안에 또 for문을 넣었습니다.


    이렇게 하면, 괴물 1명 나올 때 부하가 0~9번까지 10명 나올 것입니다.


    유니티로 돌아와서 확인해봅시다.





    0번 괴물이 나오면 0~9번 부하들이 나옵니다.


    그리고 1번 괴물이 나오면 0~9번 부하들이 나오네요.


    이렇게 먼저 들어간 for문이 한 번 돌고,


    그 안에 들어간 for문이 다 돌고 나서야


    다음 for문이 반복됩니다.


    이렇게 하면 총 10x10으로 총 100번이 돌게되겠습니다.


    이중 for문에 대한 감이 좀 오시나요?


    이번에는 for문을 좀 더 응용해봅시다.


    게임 오브젝트를 활용해서 for문으로 게임 오브젝트를 움직여봅시다.



    아래 코드를 캡처한 사진입니다.이미지가 안보이시는 분들은 아래 코드 보기를 누르고 코드를 확인해주세요.




    이번에는 public GameObject를 선언했습니다.


    그리고 if 절을 사용해서 moster가 1이 되면,


    젤랑이를 y값으로 1만큼 내려보는 코드입니다.


    게임 오브젝트를 for문 안에서 제어를 해봅시다.


    해당 코드를 입력 후, 저장하고 유니티로 돌아가봅시다.



    빈 게임오브젝트 칸에 게임 오브젝트를 넣어주세요.빈 게임오브젝트 칸에 게임 오브젝트를 넣어주세요.



    스크립트를 저장했다면, 빈 오브젝트 칸이 하나 생성될 것입니다.


    저는 여기에 젤랑이 오브젝트를 넣었습니다.


    여러분들은 for문으로 움직이고 싶은 게임 오브젝트를 넣으시면 됩니다.


    게임 오브젝트를 넣었다면, ▶을 눌러봅시다.





    자, 게임이 시작하자마자 for문이 돌면서


    젤랑이가 아래로 1만큼 내려가는 것을 확인하셨나요?


    여러분들의 오브젝트 또한 1만큼 아래로 내려갔나요?


    여기까지 유니티 반복문 for문 정리를 해보았습니다.


    오늘 알아 낸 내용을 토대로 이것저것 만져보면서


    for문과 친해져 보세요.


    다양한 방법으로 for문을 응용할 수 있답니다.


    for문을 응용한 글은 >여기<를 확인해주세요.


    이상 포스팅을 마치며,


    궁금한 사항은 댓글을 달아주세요.


    또, 카멜레온이 다뤘으면 좋겠다하는 포스팅 내용을 달아주시면, 해당 내용에 관한 포스팅도 해보도록 하겠습니다.


    감사합니다 !


    Chameleon Studio가 만든 게임하러가기


    <젤랑점핑>

    안드로이드- market://details?id=com.Cameleon.TangTangBall

    IOS- itms-apps://itunes.apple.com/app/id1429522379



    <크러쉬팡>

    안드로이드- market://details?id=com.Chameleon.CrushPang 

    IOS- itms-apps://itunes.apple.com/app/id1450109331


    댓글

Designed by Tistory.