
(저장을 하지 않고 바로 실행 버튼을 눌렀어!!)👀 실행 결과Hello, World!큰따옴표 안에 입력한 내용은 문자로 인식한다.👀 실행 결과시작52👀 실행 결과5+27세미콜론은 마침표(.)와 같다.작성한 코드의 끝을 알려주는 것.✔️ 코드의 끝에 세미콜론을 꼭

사용하고자 하는 데이터를 담아두는 공간.데이터타입 변수이름 ;변수에 어떤 타입의 데이터를 넣을 것인지.ex) string, int변수를 처음에 만드는 것 = 생성 = 선언변수 이름을 지을 때, 어떤 역할인지 알 수 있게 짓기.영어(대소문자 구분), 숫자, 언더바(\_)

더하기(+), 빼기(-), 곱하기(\*), 나누기(/), 나머지(%), 증감(++, --)1씩 계산된다.사용 후 다시 할당하지 않아도 값이 저장된다.변수 앞, 뒤 사용에 따라 적용 순서를 다르게 할 수 있다.ex) x++, --y💡 나누기(/)보다 곱하기(\*)가 더

여러 데이터를 한 가지 변수에 저장하는 기능데이터타입\[] 변수이름 = new 데이터타입\[n] ;✔️ 몇 개의 데이터를 저장할 것인지 배열 크기 정하기저장된 각 데이터에 순서가 있고 이것을 인덱스라고 하며, 0부터 시작한다.배열에 저장된 데이터에 접근하기 위해 대괄호

원하는 기능이 있을 때 사용하면 동작하는 코드반환타입 함수이름 () {}함수의 결과로 어떤 결과가 나타날지 알려주는 부분void - 함수의 결과를 사용하지 않겠다.데이터타입 - return 으로 받고자 하는 값과 동일한 데이터 타입을 사용해야 한다.💡 반환 타입을 지

🔗 다운로드 https://unity.com/kr/download오른쪽 상단 New project 클릭원하는 기능 선택 후 오른쪽 하단에 프로젝트 이름과 저장 위치를 설정한다.Create project 클릭 후 로딩 시간을 기다리면 기본 화면이 반겨준다.Sc

처음으로 만들어볼 게임은 빗물받는 르탄이 이다.위에서 빗방울이 떨어지고 캐릭터를 움직여 빗방울을 먹으면 점수를 획득할 수 있는 게임이다.하나하나 만들어보도록 하자!Hierarchy - 우클릭 - 2D Object - Sprites - Square2D 속성의 사각형 오브

게임 속 르탄이를 움직이게 만들어보자.기본적으로 좌우로 움직이는 르탄이를 유저가 클릭할 때마다 방향을 바꿀 수 있게 만들어보자.Assets에 Animations 폴더 생성한 뒤, 안에 애니메이션 추가하기Animations 폴더 우클릭 - Create - Animatio

TIL 작성에 집중하다 보니 남은 강의들을 소홀히 하게 되었다. 글 작성을 멈추고 무엇이 잘못되었는지 고민해 보았다. 강의를 들으면서 남겼던 글만큼 글을 작성하는 것, 가능할 것 같은데 왜 그렇게 하지 못하고 있지?1주차 강의를 한 번 들은 다음, 정리하는 과정에서 문

이번에는 기존에 있는 라이즈 업! 이라는 게임을 유사하게 만들어볼 것이다.SampleScene → MainScene 으로 수정하기게임 씬 Phone 레이아웃으로 설정BackgroundScale X: 6, Y: 10Color(RGB) 20, 20, 80BalloonPos

기본 씬 구성, 풍선 & 마우스 만들기 완료.이어서 만들어보자.SquarePosition X: 0, Y: 3컴포넌트 Rigidbody 2D 추가Square, Balloon, Shield의 Order in Layer: 1 로 수정컴포넌트 Collider 2D 추가✔️ C

게임을 끝낼 때 필요한 기능들을 구현해 보자.Hierarchy - Canvas - Create Empty → EndPanel 생성기존 timeTxt → TimeTxt 로 수정EndPanel 우클릭 - UI - Image 생성ImageRect Transform Width

앱을 껐다 켜도 데이터가 유지되어야 함.유니티에서 데이터를 보관하는 방법→ 있으면 true 없으면 falseGameManager GameOver 함수에 C오브젝트 넣어주기👀 실행 결과1.5배속 재생한 움짤이다.오타가 발생했을 때 자료들이 잘못 저장되는 것을 방지하기

배고픈 고양이들에게 밥을 주고, 생선가게를 지키는 게임이다.새 프로젝트 DogVsCat 생성Layouts 2 by 3GameScene Phone(760\*1280Scenes 이름 변경 MainSceneMain CameraSize 25 - 카메라가 찍고 있는 범위를 넓혀

Hierarchy 창 우클릭 - Create EmptyNormalCatTransform 우측 ⁝ 클릭 후 ResetNormalCat 우클릭 - 2D Object - Sprites - SquareHungrySprite normaCat_1 적용FullSprite norma

고양이 밥주기 1. 고양이 반복 생성하기 Hierarchy 빈 공간 우클릭 - Create Empty → GameManager 생성 GameManager C# 스크립트 생성, GameManager 오브젝트에 붙여주기 GameManager C# 스크립트 작성 Game

GameManager C레벨별로 고양이 생성 확률과 종류를 설정해 준다.Cat C고양이 타입을 만들어 주고, 속도와 포만감도 다르게 설정해 준다.유니티로 돌아와서 고양이들에게 각 타입을 설정해 주고, FatCat은 밥을 먹을 수 있도록 Box Collider 2D 컴포

같은 모양의 르탄이를 뒤집는 게임을 만들어보자.새 프로젝트 FindRtan 생성Layouts 2 by 3GameScene Phone(760\*1280)Project 우클릭 - One Column LayoutScenes 이름 변경 MainSceneMain CameraCo

Assets - Animations 폴더에 Animation → CardIdle 생성Loop Time 체크애니메이션 CardIdle - Card녹화 버튼 누른 다음 아래와 같이 적용0:20 Rotation Z: 30:40 Rotation Z: 0녹화 버튼 중지👀 실행
4주 동안 진행된 사전캠프가 끝나고 본캠프가 시작되었다.사전캠프 기간이 의미 있었다고 생각이 들만큼 본캠프도 열심히 하자!팀이 배정되고 프로젝트도 시작되었다.사전캠프 4주차에 만들었던 카드 뒤집기 를 베이스로 추가 기능을 넣어 완성하면 된다.프로젝트에 들어가기 앞서,
마일스톤 (Pull Request)프로젝트의 큰 작업 단위 / 하나의 큰 작업을 과정마다 정리하기할 일 관리 (commit)프로젝트 마일스톤 안의 작은 작업 단위Branch 이름 feature/timer-warning애니메이션 Timer_Warning 생성0:20 -
Color FFE045개인 씬 생성(이름 변경 YSA → StageLevel2)스크립트 Hint 생성성공 매칭이 5초 동안 없으면 HintTwinkle() 실행리스트에서 랜덤으로 인덱스를 선택첫 번째로 선택된 값과 두 번째로 선택된 값이 같을 때 해당 카드에 애니메이션

Branch 이름 feature/stage-hint-twinkle이벤트 추가하여 스크립트에 있는 효과 적용카드 색상 설정한 곳개인 씬 생성(이름 변경 YSA → StageLevel2)스크립트 Hint 생성MatchTimeoutSerializeField 설정 (priva
제작 기능시간 촉박 경고 기능게임의 남은 시간이 얼마 남지 않았다는 것을 시각적으로 알려줌으로써 긴장감 높이기보너스/패널티 점수 기능으로 게임의 시간이 변경되면 시간에 맞게 작동타이머 애니메이션 추가 및 적용 게임의 남은 시간이 20초 남았을 때 타이머가 움직임 시
CVisual Studio 사용법을 익혀 프로그래밍의 효율성을 높이는 방법에 대해 학습\*\*C안전하고 형식이 분명한 강력한 형식 시스템, 통합 형식 시스템이라고 불리는 기능을 가지고 있다.변수나 객체의 자료형이 미리 정의되어 있어 데이터 타입이 안전성과 정확성을 보장
조건문주어진 조건식의 결과에 따라 프로그램의 제어 흐름을 변경하는 제어문조건식의 결과에 따라 실행 여부를 결정하는 조건문조건이 참이면 중괄호 안의 코드를 실행한다.if 문에서 조건식이 거짓일 경우 실행할 코드를 지정하는 조건문생략이 가능하다.if 문의 조건식이 거짓일
클래스와 객체 구조체와의 차이점 구조체 : 선언하면서 바로 변수가 됨 클래스 : 객체화를 진행하고 무언가 연결해줘야만 사용할 수 있음 필드 대개 private를 사용하며, 바깥에서 접근할 수 있는 함수나 property를 준비한다. 메소드 보통 public으로 만
게임 시작 멘트 출력환영인사 및 마을에서 할 수 있는 활동 고르기 멘트 출력유저 관련 변수, getter/setter, 생성자메소드유저 정보 출력: PrintUserInfoShop, UserInfo 가져와서 사용할 수 있게 만들기메소드인벤토리 출력: PrintUserI
getter나 setter가 설정된 함수private로 설정한 변수 사용하기 → getter/setter 사용굳이 밖에서 변경이 필요없는 경우 setter를 빼도 됨.get {} 안에는 return이 있어야 되고, set {}은 return이 없는 void 형식이어야
추상적인 동작만 정의구현을 갖지 않는다.얘는 클래스가 아니다.다중 상속 가능특정한 기능들에 대한 호환성을 높이고 싶다면 인터페이스 사용구조를 만들다보면 "어 이렇게 공통되었는데 얘네들이 다 따로 동작하네? 얘를 인터페이스로 해볼까?"라는 생각이 들 수 있게 차근차근 학
값형과 참조형 사이의 변환 작업값형을 참조형으로 변환하는 과정값형인 애를 \*힙영역으로 새롭게 참조형으로 변환해서 하나 만들어 주는 것실제로는 값형의 값인데 참조형으로 가지고 있는 것힙(Heap) 영역 : 동적 할당을 하는 영역박싱된 객체를 다시 값형으로 변환하는 과정
2주차 개인 프로젝트로 만들었던 텍스트 게임을 기반으로 팀 프로젝트를 하게 되었다.같은 게임 만드는데도 팀 프로젝트로 진행하니 구조 잡는데도 오래 걸렸다.혼자서 만들 땐 모든 걸 나 혼자 해서 편하기도 했지만 구상하는데 생각하지 못한 오류를 뒤늦게 발견해서 어딘가를 갈
cs = Ccs 안에는 class를 여러 개 생성할 수 있다.이중클래스는 경우에 따라 써야할 일이 있을 지도 모르지만,기본적으로 사용하지 않는다.플라톤의 철학을 받아들인 것 - Class 개념이데아 : 존재하지 않는 완벽한 실체여러 가지 실제 개체들을 하나로 묶을 수
구조적인 면에서 왜 한 파일 안에 만들지 않는지!게임 역할분담의 프로세스(ex.몬스터, 캐릭터) 클래스는 데이터 저장, 주는 용도⭐일은 다른 클래스에서 하도록 분리하기⭐데이터 저장, 프로퍼티 클래스 / 객체의 행동, 작동(?) 클래스 분리하기(정보 출력 등 데이터를 주
추상클래스로 두었던 Scene 클래스를 불러오는데 더 편하게 만들기 위해서SceneManager 를 생성하여 싱글톤으로 만든 후 관리하기로 했다.그 과정에서 Scene 클래스를 Interface로 변경하였다.SceneManager에 각 Scene들의 객체를 생성했고 그
Figma로 클래스 설계를 하여 초반에 구조를 잡았다.
프로젝트 발표 피드백 여기 조 같은 경우, (피드백을 주신 튜터님께)단체로 오셔서 질문도 많이 하고 구조를 어떻게, 이렇게 짜는 것이 맞냐 이런 질문을 많이 하셨었다. 그때마다 정답을 알려드리진 않고 방향만 조금 알려드렸던 것으로 기억하는데, 그정도 키워드만 가지고도
TopDownShooting 게임을 만들어 보자.어떻게 하면 2D 콘텐츠를 설계하고 개발할 수 있는지~컴포넌트 익히는 것부터 시작해서 어떻게 활용할 것인지까지 전반적으로 배워볼 수 있는 시간을 가질 것이다.Unity Hub여러 버전을 쉽게 설치하고, 관리할 수 있도록
MonoBehaviour를 상속받은 클래스를 작성한다.Start(), Update(), FixedUpdate() 등을 활용하기 위해서 MonoBehaviour를 상속받는 것은 필요하다.(Unity에서 제공한 이벤트 함수를 활용하기 위해서)게임 오브젝트에 연결된 컴포넌트

어제 배웠던 내용을 토대로 맵을 만들었다.일단 땅과 벽만 만들었고, 다른 기능들 구현을 좀 한 다음에 맵을 더 꾸며줄 것이다.ArcTangent? 라는 것이 어떤 느낌인지... 알아보자...😵💫4차원 복소수를 이용한 회전 표현 방법, (x, y, z, w) 형태로

기본 상태 애니메이션을 추가하니까 걷는 상태 애니메이션도 추가하고 싶어졌다.애니메이터 탭에서 파라미터 Bool 타입 isWalk 추가idle - walk isWalk 값 반대로 설정idle → walk - isWalk = truewalk → idle - isWalk =
게임 시작 전 유저의 이름을 받는 기능을 구현했다.Input field를 사용했다.이름은 2~10 글자 사이로 입력해야 하며,입력한 내용의 길이가 올바르지 않으면 넘어갈 수 없다.조건에 맞게 입력했으면 저장하고 다음 화면에서 이름 띄우기~(Character Limit을

게임 시작 전 캐릭터를 고르는 기능까지 구현했었다.캐릭터를 선택하고 JOIN을 누르면 내가 선택한 캐릭터만 보이고,구현한 기능들이 제대로 적용됐는지 확인해 보자!각 버튼마다 누르면 해당 캐릭터가 활성화되게 하는 방법으로 기능을 구현했다.기본으로 선택되어 있는 MainS

개인 과제가 끝났으면? 팀 프로젝트의 시작이다.이번에 만들 게임은 예전에 해봤던 똥피하기 게임!위에서 떨어지는 똥을 피해서 살아남는 게임이다.우리는 똥 대신에 르탄이 얼굴을 피하는 게임으로 만들 거다.최초로 StartScene 에서 시작한 뒤, 생존 게임이 시작된다.떨

게임 분위기가 심심하지 않게 BackGround Music을 추가했다.오디오 관련해서 작업하는 건 처음이었다.옵션창에서 BGM 볼륨을 조절해줄 것이기 때문에 Slider 추가컴포넌트를 알맞게 넣어주고, 무한 재생되도록 Loop 체크Slider에서 최소값, 최대값, 값을
슬라이더를 가져온 것까진 좋았다.StartScene에서는 정상작동되던 애가 MainScene을 갔다 오면 Slider 컴포넌트를 잃어버린다.싱글톤인 SoundManager의 컴포넌트가 자꾸 사라져서어떻게 해야 할지 한참 고민했는데 의외로 아주 간단하게 해결되었다.Bg
게임 종료 버튼만 만들어놓고 기능을 만들지 않았다.Application.Quit(); 를 쓰면 게임 종료 기능을 만들 순 있지만에디터는 게임 종료 기능이 동작하지 않는다고 한다.그래서 아래와 같이 전처리기 지시어(게임 종료 버튼을 눌렀을 때 게임이 종료되는 기능을 구현

구현하고자 하는 기능들은 얼추 완성되어서 꾸미기 작업을 했다.게임시작 화면도 구성은 똑같이 해주고, 아래 파도 애니메이션만 똑같이 적용했다.하늘에서 폭탄이 떨어지니까 구름은 가만히 있어주는 걸로.프로젝트 마감 시 제출해야 하는 자료로 시연 영상도 제작하였다.벨로그는 영
팀원들 대부분이 완성도에 대하여 부족한 점, 아쉬운 점이 많다고 했다.이 부분은 똥피하기 게임의 특성상 확장의 한계성이 있었을 것이다.트러블슈팅의 문제 현상을 움짤로 만들어 보여준 것이 좋았다.선택 구현 사항을 잘 구현하였다.캐릭터가 오브젝트에 맞을 때, 캐릭터가 그냥
어느덧 숙련 주차에 들어서게 되었다...숙련? 저번 주차가 입문이었지만 난 아직도 입문인걸요...2D도 다 못 뗐는데 3D를?! 🫠3D 환경에서 작업을 하게 되면 추가되는 것 중 하나 하늘하늘을 표현할 때 스카이박스를 다룬다.게임 세계의 배경을 둘러싸는 환경 매핑 기

강의에서는 작은 점을 만들어서 화면에 Crosshair를 표시했지만난 무료에셋을 사용해서 에임을 꾸며주고 싶었다.하지만 그냥 바로 사용하려니 컴포넌트 값으로 드로그 앤 드랍이 안 됐다.사용하고자 하는 이미지 인스펙터 창에서 텍스처 타입을 Sprite (2D and UI

무료 에셋을 사용해서 기존 강의와는 다르게 꾸며줬다.이제 필요 없는 기능인 배고픔을 삭제하려고 한다.PlayerCondition.csUICondition.cs배고픔 관련 로직 주석처리 해주기아직 삭제는 안 한 상태!배고픔 UI 빼주고 꾸며주기JumpPad.cs👀 실행

지난주 목요일이 개인 과제 제출일이었는데제출까지 기능을 완성하지 못해서 약간 현타(?) 비스무리한게 찾아와서 TIL 쓸 생각을 못 했다.인벤토리를 만들 만큼 아이템이 많지 않기도 하고퀵슬롯도 사용해 보고 싶어서 이번에 만들어보려고 했다.아이템을 획득하면 획득한 순서대로

맵이 큐브로 이루어져 있어서 큐브 레이어를 Ground로 설정하면 모든 면이 클릭되어위와 같은 현상이 일어나는 것으로 보인다.Ground 레이어 Default로 변경GroundPlane 생성Layer: GroundMaterials: GroundPlaneMaterialG

구슬 오브젝트를 먹으면 카운팅 되는 로직까지 작성했었다.이제 카운트된 숫자에 맞는 문양을 Player의 머리 위에 띄워주면 된다.각 심볼 이미지 넣어보기Enums.cs일단 만들어본 EnumUIFaceCamera.csCurrentSymbol에 적용UI 이미지를 Playe
1. 파티클 시스템 수 천개의 작은 2D 또는 3D 오브젝트들을 관리하고, 그들의 동작과 생애를 제어한다. 각각의 작은 오브젝트를 '파티클'이라고 부른다. 주요 컴포넌트는 'emitter'(발사체), 'particles'(파티클), 'animator'(애니메이터), '
Unity의 기본 UI 시스템으로 게임 내의 사용자 인터페이스를 구축하는 데 사용된다. UGUI에서 모든 UI 요소는 Canvas라는 컴포넌트 내에 배치된다.스크린 오버레이, 카메라 오버레이, 월드 공간의 3가지 렌더 모드를 지원한다.Screen Space - Scr

클릭 이벤트 처리자동 클릭 기능점수 시스템아이템 및 업그레이드 시스템사운드 이펙트애니메이션봇들을 업그레이드 하면 시간은 감소하지만 클릭 보상이 증가하지 않음봇들이 자동 클릭을 하면 Clicker의 애니메이션이 작동하지 않음설정창에 볼륨 슬라이더밖에 없음 → 게임 초기화

최종 프로젝트 전, 마지막 팀 프로젝트 시작이다.이번에는 자유 주제여서 내가 좋아하는 디펜스를 말씀드렸더니 채택되었다!그렇게 되어서... 만들게 될 게임은 2D 랜덤 운빨 디펜스최근에 유행했던 스타 유즈맵 '메운디'와 현재 재밌게 하고 있는 '운빨존많겜' 참고하여 구조

스크립트를 작성하기 전에유닛이 배치될 자리를 UI로 지정했다.정렬은 Grid Layout Group 컴포넌트 추가하여 활용MapManager.csSpawner.cs이렇게 작성한 뒤 GameController.cs에서 뽑기 부분에 MapManager의 PlaceUnit

MapArea.cs클릭을 해야지만 오브젝트를 가지고 오는 것이 어색하여 OnPointerClick 대신Update문에서 오브젝트를 바로 가지고 올 수 있도록 수정하였다.현재까지 작업된 유닛의 위치를 이동시키는 기능이다.IBeginDragHandler, IEndDragH

이동 후 자리를 잘못 찾아가는 문제는애니메이션 완료 후 자식 오브젝트를 바꿔주고, child.localPosition을 Vector3.zero로 설정하여 자식 오브젝트 위치를 부모의 위치에 맞도록 변경했다.이동 애니메이션은 DOTween을 사용하여 매끄럽게 이동되게 하

MapArea.csMapManager.cs

작업 마무리 중 프리팹 컴포넌트에 추가되어 있는 스크립트를 찾지 못하는 오류가 발생했다.프로젝트 부분을 정리하는 도중 스크립트의 위치를 옮겨서 생긴 것 같다.해결 방법을 못 찾던 중, 팀원분께서 한 번 해보시라고 알려주신 방법이 Reimport All 이다.이 기능은
유니티 에디터를 확장하거나 사용자 지정 기능을 추가하여 작업 효율성을 높이고 프로젝트 요구에 맞는 워크플로우를 구축하기 위해 사용된다.유니티의 에디터 기능을 활용하여 특정 작업을 자동화하거나 사용자 정의 인터페이스(UI)를 제공하는 등의 역할을 한다.반복 작업 자동화
💡 질문에 답해보고 직접 확인해보는 시간을 가집시다.위 예제 코드에서 Car는 무엇을 나타내나요? car1과 car2는 무엇을 나타내나요?Car 클래스는 틀이며, car1과 car2는 Car 클래스에서 찍어낸 객체입니다.위 코드에서 Car 클래스에 정의된 메서드를 호
💡 질문에 답해보고 직접 확인해보는 시간을 가집시다.위 코드에서 삼각형 Triangle 클래스를 새로 작성한다고 했을 때,AreaCalculator의 코드를 수정하지 않고 AreaCalculator가 삼각형의 넓이를 계산하도록 만들 수 있을까요?현재 코드로는 불가능할
💡 질문에 답해보고 직접 확인해보는 시간을 가집시다.위 코드의 출력 결과는 무엇인가요? 그 이유는 무엇인가요?7 35 델리게이트가 처음엔 Add 메서드를 참조하고, 두번째에는 Multiply 메서드를 참조하기 때문입니다.위 코드의 Main 함수를 아래처럼 바꿔도
💡 질문에 답해보고 직접 확인해보는 시간을 가집시다.다음 struct 코드와 class 코드의 결과를 예측해보고, 이유를 생각해봅시다.출력 결과이유구조체는 값 타입입니다. point2에 point1을 할당하면 값이 복사가 되지만, 별도의 존재이므로 point2의 값을