본문 바로가기
스크래치/스크래치 슈팅 디펜스

슈팅 디펜스 만들기3 - 스크롤링

by 할거없네 2021. 2. 8.

youtu.be/ycwQ30GgP94

 

 

스크래치 슈팅 디펜스

만들기 3번째

안녕하세요.

이번에는 스크롤링을 만들어 보겠습니다.

 

1. 기준점 스프라이트 만들기

2. 스프라이트의 위치 만들기 (지역 변수)

3. 지역변수 초기값 만들어 주기

초기값은 자신의 위치가 됩니다.

 

 

 

4. 위치 변수에 따라 자신의 위치를 결정하기

4.1 무한루프를 만들어 줍니다.

4.2 무한루프 안에 위치값을 변수로 결정합니다.

5. 화면이동 변수 만들기

5.1 화면이동 변수는 캐릭터가 움직이면 캐릭터가 화면에서 이동하는 대신 변하는 변수입니다.

5.2 화면 변수는 전역변수로 모든 스프라이트가 사용할 수 있도록 만들어 줍니다.

 

 

6. 화면변수 변화하기

6.1 캐릭터가 움직인 만큼 변화하기

 

7. 기준의 위치를 화면만큼 빼기

 

8. (테스트용) 기준 스프라이트들을 복제해서 스크롤링의 효과를 체험하기

(보여주기 위한 코딩입니다 ^^)

이런식으로 스크롤링을 만듭니다.

캐릭터 제외 모든 유닛들을 화면만큼 빼는 것이죠.

 

9. 캐릭터 이동 경계 만들기

-> 특정 위치 이상일 경우에만 화면을 스크롤링을 합니다. 여기서는 100x100을 기준으로 만들어 봅니다.

9.1 블록만들기

9.2 조건문 2개 넣기

9.3 조건문 x위치를 넣기

9.4 조건값을 넣고 조건에 맞으면 캐릭터를 뒤로 보내고 화면 이동시키기

조건값: xy의 크기가 특정값보다 클 때.

절대값으로 넣어주시면 됩니다.

 

10. 나머지 모든 스프라이트에도 적용하기

미사일에도 적용해 줍니다 ^^

이건 조금 생각을 해 줘야 하는데요, 기존에 고양이가 있던 곳에서 마우스 방향으로 움직여야 하는데

이번에는 위치와 속도를 변수를 만들어 줘서 움직이도록 바꿔야 미사일마저 스크롤링이 가능합니다.

 

 

10.1 지역변수로 위치와 속도 변수를 각각 만들어 주기.

10.2 위치를 변수로 바꾸기

 

10.3 방향값 구하기

미사일이 나아가는 방향을 구해야 하는데, 여기서는 x, y의 변화량으로 계산해봅니다.

속도로 계산하기 위해서 화면변수를 다시 빼야겠네요 ㅠㅠ

 

나중에 다시 수정하겠습니다 ㅎㅎ

 

속도 = 현재 위치 이전 위치

 

가 됩니다.

 

 

10.4 자신의 위치를 속도만큼 바꾸기.

10.5 자신의 위치를 위치-화면이동값 으로 정하기

 

10.6 자신의 위치값을 계산하기 (화면이동값 반영)

-> 실제 좌표 = 화면상 좌표 + 화면이 움직인 좌표

 

 

 

다음에는 맵 타일을 만들어 봅니다. ^^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글