[Swift] 제어 흐름
Develop/iOS2024. 5. 2. 17:33[Swift] 제어 흐름

제어 흐름Swift는 여러 가지 제어 흐름 구문을 제공한다.while, if, guard, switch, break, continue가 제어 흐름 구문에 해당한다.Swift는 Array, Dictionary, ranges, String 등을 쉽게 다룰 수 있는 for-in 구문도 제공한다.Swift의 switch 구문은 C언어의 것보다 더 강력한 기능들을 제공한다.case들을 tuple, 특정 타입에 대한 cast를 포함해서 좀 더 많은 패턴으로 구성할 수 있다.Switch의 case 일치 값은 임시 상수 혹은 변수에 담길 수 있다.복잡한 조건은 각 케이스의 where 절로 표현될 수 있다.  For-In Loopsfor-in loop 구문은 Array의 값들, String의 Character 값들과 같..

[Unity2D] Input 시스템
Develop/Unity2024. 3. 3. 21:37[Unity2D] Input 시스템

시작 게임은 영상이나 음악이란 요소도 중요하지만, 영화나 다른 시각 매체와 큰 차이점을 두는 것은 바로 조작이다. 우리가 게임을 조작하기 위해서는 여러가지 것들을 이용할 수 있다. PC게임이라면 키보드, 콘솔 게임이라면 게임패드, 모바일 게임이라면 터치UI 등등이 될 수 있다. 우리가 게임을 조작하는 것은 물리적인 조작 장치가 게임에 신호를 보내는 것이라고 할 수 있다. 이 조작을 위한 신호는 Input 시스템이 담당하고 있기에 우리는 Input 시스템을 어떻게 이용할 수 있는지에 대해 알아야한다. Input System 게임 엔진에 대해 전문적이고 체계적으로 개발한 Unity는 그동안 입력에 관해 여러가지 시스템들을 도입하고 발전 시켰다. 그 결과 두 형태의 Input 시스템이 존재하는데, 각각 old..

Unity2D: Start와 Update
Develop/Unity2024. 3. 1. 13:43Unity2D: Start와 Update

시작 저번 글에 이어 자동차를 조종하는 것을 마저 만들어볼 것이다. 이전 글 내용이 기억나지 않는다면 아래의 링크로 들어가면 볼 수 있다.▼ [Unity2D] Object와 Sprite 시작 간단하게 캡슐 모양의 오브젝트를 자동차처럼 조종하는 것을 만들어볼 것이다. (유니티 에디터 버전: 2020.3.30f1 Intel) 아래의 자동차를 조종해 볼 것이다.▼ 아래의 이미지는 코딩고라니가 noguen.com C# 스크립트 생성 키보드로 자동차를 조종하기 전에 우선은 입력없이 자동차 스스로 움직이게 해보자. 그러기 위해서는 자동차 오브젝트의 위치나 각도를 바꿔줄 코드가 필요한데, 그 코드를 Unity에서는 스크립트(Script)라고 부른다. 기본적으로 스크립트는 C# 문법을 따른다. 우선은 C# 스크립트를 ..

[Swift] 모음 타입들
Develop/iOS2024. 2. 23. 15:23[Swift] 모음 타입들

모음 타입들Swift는 여러 값들을 저장하기 위해 Array, Set, Dictionary라는 Collection Type(컬렉션 타입)을 제공한다.Array(배열)은 순서대로 값을 모은 것이고,Set(집합)은 순서가 없는 값들을 모은 것이다.Dictionary는 Key-Value 쌍을 순서 없이 모은 것이다.  Swift의 Array, Set, Dictionary에 저장되는 값은 항상 명확한 타입을 가지고 있어야 한다.만약 Int자료형을 저장하는 Array에 String 타입의 값을 넣으려고 하면 오류가 발생한다.  Mutability of Collections개발자가 Array, Set, Dictionary를 만들어 변수에 할당하면 해당 컬렉션들은 모두 변경 가능하다.즉, 값을 추가, 제거, 변경할 ..

[Unity2D] Object와 Sprite
Develop/Unity2024. 2. 22. 15:27[Unity2D] Object와 Sprite

시작 간단하게 캡슐 모양의 오브젝트를 자동차처럼 조종하는 것을 만들어볼 것이다. (유니티 에디터 버전: 2020.3.30f1 Intel) 아래의 자동차를 조종해 볼 것이다.▼ 아래의 이미지는 코딩고라니가 만들었고, 이미지를 연습용으로 사용하는데는 아무 제약이 없습니다. 마음에 들지 않는다면, 다른 파일로 해도 괜찮습니다. 자동차 오브젝트 생성 가장 먼저 해야할 것은 조종할 오브젝트를 만드는 것이다. 일단 유니티 프로젝트를 만들어준다. (2D 프로젝트로 만드는 것을 잊지 말자)▼ Hierarchy 탭의 빈공간을 눌러서 캡슐 모양 스프라이트를 가진 2D 오브젝트를 하나 만들어주자. 사실 어떤 오브젝트인지는 상관 없다. 어차피 square, circle, capsule의 차이는 스프라이트의 차이인데 우리는 자..

[Unity2D] 게임 디자인
Develop/Unity2024. 2. 22. 15:20[Unity2D] 게임 디자인

게임 디자인 게임 제작에 앞서 게임 디자인이란 것에 대해 생각해야한다. 게임 디자인이란? 게임 디자인(game design)은 게임을 플레이하는 사람에게 전달하고 싶은 재미를 표현하고 구현하기 위해 게임의 규칙과 내용을 설계하는 과정을 지칭하는 말이다. 또한 이미 제작된 게임의 설계 양식이나 문서를 가리키는 말로도 사용된다. 게임 디자인에는 여러가지 제약들이 존재하지만 소규모로 제작하는 입장에서 고려해야할 것들에 대해서 간단하게 얘기하자면 이런 것들이 있다. 게임의 요소와 메카닉 사용자 경험(Player Experience) 핵심 기능(Core Mechanic) 게임 루프(Game Loop) 하나씩 살펴보자. 게임의 요소와 메카닉 게임의 요소와 메카닉은 단순하게 말하면 무엇이 게임에 있고, 어떤 방식으로..

[Unity2D] unity와 C#, VSCode 설정(macOS, M1)
Develop/Unity2024. 2. 22. 00:56[Unity2D] unity와 C#, VSCode 설정(macOS, M1)

이 글은 애플 실리콘(M1칩)을 사용하는 맥북에서 Unity와 VSCode를 설정하는 것을 다룹니다. 윈도우의 경우 다른 글을 참고하는게 좋습니다. Unity 설치 1. 유니티 허브(Unity Hub) 다운로드 및 설치 유니티 홈페이지에 접속해서 유니티 허브를 다운로드 하면 된다.▼ 다운로드 지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요. unity.com 필자는 베타버전을 사용하고 있다. 현재까진 다른 버그는 발견하지는 못했지만, 나중에 어떤 버그가 발생할 지 모르기에 안정된 일반 버전을 설치하는게 좋을 것 같다.▼ 다운로드 했다면 파일을 열고 설치하면 된다.▼ 설치를 완료했다면 유니티 계정으로 로그인하자. 2. ..

[Unity2D] 기초에 앞서
Develop/Unity2024. 2. 22. 00:43[Unity2D] 기초에 앞서

Unity2D 게임 프로그래밍에 앞서 강좌 추후에 쓰일 글들은 Udemy의 강좌, C# Unity Developer 2D Coding: Learn to Code Video Games의 내용을 기반으로 작성된다. 굉장히 기초적인 부분부터 시작하며, C#을 기준으로 코드를 짠다. C#을 몰라도 C나 C++을 알면 쉽게 따라올 수 있으며, 코딩을 처음해도 무난하게 따라올 수 있을 정도로 굉장히 쉽게 설명해준다. 강의는 윈도우에서 진행되지만, 필자는 맥 환경을 사용하기에 인터페이스에 차이가 있을 수 있다. 하지만 아주 극소수의 차이만 존재하기에 사실상 둘이 거의 같다고 할 수 있다. 원하는 버튼이나 메뉴가 보이지 않으면 당황하지 마시고 차근차근 찾길 바란다. Unity란 유니티는 2D와 3D 비디오 게임을 만드..

[SWIFT] 문자열과 문자
Develop/iOS2024. 2. 16. 20:56[SWIFT] 문자열과 문자

문자열과 문자 String(문자열)은 "Hello World"와 같이 Character(문자)들이 합쳐진 것이라고 볼 수 있다. Swift에서 문자열 및 문자 타입은 코드에서 텍스트를 유니코드 호환 방법으로 제공하고 문법적인 부분은 C와 비슷하다. 문자열의 연결은 `+` 연산자를 사용하여 수행할 수 있다. 물론 문자열도 상수와 변수로 선언하여 변경 가능성을 관리해 주어야한다. 문자열 보간을 통해 어떠한 문자열에서 다른 문자열을 불러올 수도 있다. Swift의 문자열은 유니코드 문자로 구성된다고 한다. String Literals 개발자는 미리 정의되어 있는 String 값으로 문자열을 사용할 수 있다. 문자열을 사용할 때는 두 개의 `"` 안에 원하는 문자열을 써주면 된다. Multiline String..

[SWIFT] 기본 연산자들
Develop/iOS2024. 2. 16. 19:44[SWIFT] 기본 연산자들

기본 연산자들 Operators(연산자)는 값을 확인, 변경 또는 결합하는 데 사용하는 특수 기호 또는 Phrase이다. 예를 들어 `+` 연산자나 `&&` 연산자가 있다. Swift는 C언어 연산자의 여러 코딩 오류를 제거하기 위해 기능을 향상시킨 연산자를 지원한다. `=` 연산자는 값을 반환하지 않는데 이는 `==` 연산자와의 혼동에 의해 실수로 사용되지 않도록 하기 위해서다. 산술 연산자(`+`,`-`,`*`,`/`)는 값 오버플로를 감지하고 오류를 발생시키기 때문에 허용된 값보다 크거나 작은 숫자를 사용할 수 없게 도와준다. Swift는 C에서는 찾을 수 없는 `.. `, `=`, `≤` Swift 연산자에는 `===`, `!==`도 있는데 이는 두 객체 참조가 모두 동일한 객체 인스턴스를 참조하..

image