목차
장애물 구현
두개가 한세트니까 빈게임오브젝트로 묶자
빈게임오브젝트로 Obstacle 로명명하고
transform -> Reset!
53,54 번을 넣자
각각 Up Down 이라고 작성하자!
바꿔야 보임!
상태머신을 static 영역으로 올려준 모습
Playing 일 때만 실행 되게 하자!
근데 이게 문제가 되는게,
죽어서 게임이 끝나면, 씬을 다시 시작한다고 해도
상태가 Ready 로 시작을 하지 않는다.
동적으로 씬을 다시 시작해줘도, 이미 Static 영역으로 가 있기 때문이다.
그래서 Start 에서 다시 호출 해준다
일정시간에 따라서 랜덤한 위치로 오브젝트가 오게 해보자!
Update() 문에서
currentTime += Time.deltaTime; 해주고
근데, 이게 계속 실행되니까,
계속 생성 되니까, DestroyZone 을 한번 만들어 보자!
2D 슈팅에서 다 했던거임
콜리젼으로 했지만,
Trigger 로 해도 됨!
그리고, collision.transform.parent.gameObject 로 해주지 않으면,
부모인 빈 게임오브젝트는 사라지지 않는다. 그러니까 저렇게 해주자
지나가면 점수 얻게 하는 기능
Square 하나 만들어주고, Collider 를 붙여준다
Obstacle 을 프리팹으로 저장한 후, 이렇게 콜라이더를 넣어준다
복붙해서 2개 만들고,
옆에 Text 에 보면 저런식으로 HTML 처럼 써서 색을 바꿀 수도 있다
빈게임 오브젝트 ScoreManager 생성
ScoreManager.cs 생성 후 코드 작성 해보자
언더바를 쓰고 하는건 보통 외부에 안보여줄려고 그러는 것이다.
Get Set Property!
네임스페이스 붙여주고
Public 으로 두개 넣어줌
text 에도 나오게 코드를 넣어준다.
Start 에서 TopScore 가 바로 나오게 해준다.
Score 는 0으로 다시 시작하게 해주고
GetInt("FlappyBird", 0)
이건, SetInt 에서 "FlappyBird" 에 키를 저장한 값을 불러오는건데,
Default 로 0 을 쓰겠다는거임
이걸 싱글톤으로 만들자
Trigger2D 로
Exit 하면, Score++ 되게 해준다!
(참고) 20년 개발의 신 테크트리
씬 바꿔도 파일 안날라가게 구현
ScoreManager 에 네임스페이스 넣자
테스트만 해볼거임!
그리고 Start 부분부터 DontDestroyOnLoad 를 쓰면 계속 남아있게 할 수 있다
자식으로 넣어서 가져오면 됨!
안드로이드로 빌드하는 방법!
이거 되면 Switch Platform !
Platform 은 하나하나가 다 엔진임!
바로 빌드 누르지 말고 Player Settings 를 누른다!
여기서 중요하게 해야하는것
Portrait 는 세로
LandScape 는 가로
Settings 목록에 관한 간단한 설명 및 빌드하기
시작할 때 어떤엔진으로 만들었는지 그런거 나오게 하는 것들
안드로이드 최소 실행되게하는 버전 넣기
Mono -> IL (InterMediate Language)
중간 언어로써, 다른 OS 를 쓰기 직전에 그때그때에 맞게 설정해주는것.
장점 : 한번 만들어 넣으면 다른 OS 에 다 넣을 수 있음
단점 : 느림
CPP -> 만들기 전에 어떤 OS 에서 쓸건지 알아야함.
장점: 빠름
그래서 1소스 멀티Use 가 안됨..
바로 앱을 실행 시키지 않고, 중간 언어계통으로 만들어놓음. 그게 IL 임 Intermeditate Language
그 다음 무슨 OS 를 쓰는지 보고 그때그때 바꿔줌...
이걸 JIT (Just In Time) 이라고 함
그래서 1번째 꺼보다 더 느림. 장단점이 있음
그래서 C 나 C++ 이 더 빠른거임 => 그래서 속도가 생명인 하드웨어에서 씀
제페토는 new 로 쓴다고 함!
빌드하면 됨!
'2D_FlappyBird' 카테고리의 다른 글
(8_24) 2D FlappyBird 만들기 둘째 날 (FSM) (0) | 2022.08.24 |
---|---|
(8_23) 2D FlappyBird 만들기 첫날 (0) | 2022.08.24 |