게임 무대 만들기 201a GUI툴로 타일맵 배경 만들기 (Tile Map Editor) 201b 코드로 타일맵 배경 만들기 (GKRandomSource, Procedural Generation) 202 카메라 배치하기 (SKCameraNode, 타입 프로퍼티) 203 경과시간 표시하기 (SKLabelNode, update 함수, 프로퍼티 옵저버) 204 골 배치하기 (GKRandomDistribution) 205 장애물 설치하기 (Overlap 판정)
객체 준비하기 301 플레이어 배치 (Particle Emitter, SKLightNode) 302a 플레이어 움직이기 (터치에 대한 속도와 각도 계산법) 302b 바닥종류에 따라 객체속도변경하기 (SKTileMapNode) 303 적 배치하기 (Timer)
인공지능 도입하기 401a 에이전트 시스템 준비하기 (GKComponentSystem, GKAgent2D) 401b 적에게 인공지능 부여하기 (GKBehavior, GKGoal, GKObstacle) 402 룰 시스템 셋업하기 (GKRule)
게임 더 꾸미기 501 사운드 붙이기 (SKAudioNode) 502 가상 조이스틱 사용하기 (TLAnalogJoystick) 503 충돌 판정하기 (SKPhysicsBody) 504a 게임오버 처리하기 (State Machine, 하이스코어 처리) 504b 게임오버 씬 전환하기 (SKScene)
* 20 Xcode Tips & Tricks - Updated for Xcode 9 - 2017 https://www.youtube.com/watch?v=38LNXk_oTak&t=308s - 1. Visual debugging: 앱을 실행시키고 있는 상태에서 디버깅 창의 작은사각+큰사각+작은사각 형태의 아이콘을 클릭하면 층구조의 스토리보드를 볼 수 있다. - 4. cmd+0: 왼쪽 상태창 숨김. cmd+opt+0: 오른쪽 상태창 숨김 - 5. Automatic indentation: 영역지정후 ctl+I - 6,7. 컴포넌트 배치나 연결에 View hierachy를 사용하라 - 10. 폰트크기조정: cmd++ or cmd-- - 11. 리네이밍: 영역지정후 오른쪽버튼 -> refactor -> rename 단축키는 cmd+ctl+e - 12. 리팩토링: 영역지정후 오른쪽버튼 -> refactor -> extract method - 13. cmd 누른 상태에서 브라킷에 가져다대면 시작 브라킷까지의 영역을 보여줌 - 15. //MARK: - Example 을 쓰면 아웃라인에서 함수를 구분해줌 - 16. 주석 on off: cmd+/ - 17. cmd+shift xcode 전용 스포트라이트 창이 열림 - 18. 커스텀 definition추가: Xcode에서 커스텀 함수로 추가하고 싶은 영역을 선택해서 함수 스니펫에 추가하면 단축키로 함수를 추가 가능. - 19. 함수를 선택 -> 오른쪽 클릭 -> jump to definition 으로 원래 함수정의 위치로 날라감
* 10 Xcode Tips & Tricks - Xcode 10 https://www.youtube.com/watch?v=1uVnWbygg_c - 1. 스토리보드 리팩토링: Editor -> Refactor to Storyboard - 2. Build time Track: defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES 를 터미널에 입력 - 7. 멀티라인 커서 에디팅: ctrl + shift + 클릭 - 8. vertical selection: option + 드래그 - 9. 스토리보드 프리뷰: assistant editor -> Manual -> preview - 10. #warning("워닝메시지"), #error("에러메시지")를 붙여서 반드시 수정하도록 notice를 줄 수 있다.
Xcode에서 Swift 5를 이용해 iOS용 Flappy Bird 게임을 만듭니다. 게임엔진으로는 iOS에 내장된 SpriteKit을 사용합니다. 이 영상에서는 게임의 외적인 부분을 구성하는 메뉴화면, 튜토리얼, 런치스크린, 앱아이콘을 설정하는 부분에 대해서 설명합니다.
Xcode에서 Swift 5를 이용해 iOS용 Flappy Bird 게임을 만듭니다. 게임엔진으로는 iOS에 내장된 SpriteKit을 사용합니다. 이 영상에서는 Xcode의 파티클 이미터(Particle Emitter) 기능을 설명하고, 이 기능을 이용해 게임에 비가 내리는 효과와 플레이어에 추진체가 붙은 특수효과를 내는 방법에 대해 설명합니다.
[강의내용] * 파티클 이미터 시스템 설명 * Xcode에서 파티클 작성 * 작성한 파티클을 게임에 적용하기
정확히 반년 주기로 업그레이드를 하고 있다. Swift 3.0 버전을 지원하는 마지막 Xcode 버전은 8.3.3이므로 안돌아가는 코드가 있으면 구버전을 설치하여 작업하면 되겠다. 구버전 Xcode의 다운로드는 아래 사이트에서. http://xcodereleases.com/
[Xcode 프로젝트 설정] - 프로젝트 생성시 Product Name은 스페이스 없는 연속된 글자로 설정한다. Camelcase를 쓰면 알아보기 좋다. - Version은 1.0 보다는 1.0.0 으로 쓰는것이 좋다.
[Apple Developer 설정] - developer.apple.com -> Certificates, Identifiers & Profiles -> Identifiers -> App IDs에서 와일드카드가 아닌 프로젝트의 고유한 App ID를 작성해야 한다. 이때 입력하는 번들ID는 프로젝트의 번들ID와 일치해야 한다. - App ID 는 Xcode -> Capabilities 에서 메뉴 중 아무거나 하나를 ON으로 해 주면 자동으로 등록되므로 문제없이 하고 싶다면 이 방법을 추천한다.
- iOS Distribution용 Certificate가 없다면 생성해 주어야 한다. 이 때 CSR 파일이 요구된다 - CSR(Certificate Signing Request)파일은 실제 개발에 사용하는 맥북의 고유한 키 파일이다. - 런처패드 -> 기타 -> 키체인 접근 -> 인증서 지원 -> 인증 기관에서 인증서 요청 -> 디스크에 저장됨 으로 CSR파일을 생성 및 저장한다. 도큐먼트 폴더에 일괄적으로 모아두면 파악하기 좋다.
- developer.apple.com의 Provisioning Profiles -> Distribution -> +버튼으로 추가 -> App store 선택 -> App ID 선택 -> Download 후 실행하면 키체인에 등록된다. - 맥북에 있는 Provisioning Profile이 충돌할 경우 파일을 다 지우고 다시 설치하면 된다. - Provisioning Profile 파일은 Finder -> 이동 메뉴에서 Option키 클릭 -> 라이브러리 -> MobileDevice에 자동으로 저장된다.
[App Store Connect 설정 1] - appstoreconnect.apple.com에서 My Apps (나의 앱) -> New iOS App을 선택했을때 번들ID가 뜨면 Apple Developer에서 생성한 App ID가 iTunes Connect에 연동된 것이다. SKU는 아무렇게나 넣어도 되는데 번들ID를 그대로 넣어주는게 편하다.
[Xcode에서 Appstore에 업로드] - Xcode에서 실행을 시뮬레이터가 아닌 디바이스를 선택 - 메뉴의 Product -> Archive -> Validate 로 앱스토어에 업로드 할 패키지를 생성 - Submit 과정에서 Validate가 이루어지기 때문에 Validate는 미리 안해도 되지만 만일을 위해서 수행한다 - 패키지가 생성되면 Archive -> Submit 으로 업로드. - 업로드시 동일한 빌드넘버를 가진 빌드를 중복해서 올릴 수 없으므로 작업시 빌드넘버는 자동으로 증가하도록 설정하면 편리하다.
[App Store Connect 설정 2] - appstoreconnect.apple.com에서 My Apps(나의 앱) -> Activity(활동 내역)에서 업로드한 ipa 빌드를 확인할 수 있다. - Processing 중이라면 끝나기를 기다려야 하는데 길어도 수십분 정도면 종료된다. - 5.5인치 화면(iPhone 8+)와, 12.9인치 화면(iPad 프로)에 대한 스크린샷을 업로드해야 하므로 시뮬레이터로 준비한다. - Appstore용 아이콘은 1024x1024, Copyright는 회사이름 - 게임센터가 필요하면 나의 앱 -> 앱 내 추가 기능 -> Game Center 에서 순위표와 목표달성 테이블을 작성하고 App store 메뉴에서 Game Center를 활성화한다. - Build에서 Xcode로 제출한 Archive를 선택 - Pricing에서 가격설정후 Submit for Review
- gogs의 ssh 주소는 루트를 기준으로 만들어지는데 시놀로지에서 유저계정을 만들어서 ssh에 접속해도 결국 루트에 액세스할수 없어 ssh를 사용할 수가 없다. 할수없이 https 주소를 써야한다.
- xcode에서는 gogs의 remote주소를 https://도메인:포트/git주소 로 설정한뒤 로그인하는 방식으로는 인증에 실패한다. https://계정:패스워드@도메인:포트/git주소 로 설정하면 인증을 통과할 수 있다. 이때 계정은 @마크를 쓰는 이메일이 아닌 평문으로 해야 한다.