전체 글 62

24-09-22 C# 프로그래밍 기초 02.7

오늘은 남은 강의를 마저 들으며 정리를 해보고자 한다. 강의 들은 내용)더보기1) 인터페이스와 열거형{ 인터페이스 ( Interface ){ 인터페이스란, 클래스가 구현해야하는 맴버들을 정의하는 것이라 한다.즉 인터페이스가 클래스의 일종인것은 아니고, 클래스의 제약 조건을 명시하는 것이다.    예시 1 : 이동 구현  이렇게 interface와 그 맴버를 선언하고  후에 클래스를 선언해  클래스에 인터페이스를 달아줘 제약을 걸어주게되면 빨간줄이 뜬다 ; 인터페이스 맴버를 구현하지 않았기 때문에.    이렇게 클래스를 선언할때 클래스의 구성 요소를 인터페이스가 결정하는 방식이 되어, 클래스를 하나하나 선언할 필요 없이 인터페이스를 수정하고 적용시키는 방식으로 용이하게 작업할수 있게되는 것으로 이해했다. ..

게임개발/C# 2024.09.22

24-09-21 C# 프로그래밍 기초 02.5

주말이라도 공부를 해야한다,, 왜냐면 C#의 길은 험난하니까,, 아무튼 어제 하던걸 이어서 정리해보겠다 out, ref 키워드{out, ref 는 메소드에 데이터를 전달할때 쓰는 키워드이다. out 은 메소드에서 값을 매개변수로 전달할때 쓰이고,ref 메소드에서 매개변수를 수정하여 원래 값에 전달하는데 쓰인다고 한다. Divide 메서드에서 매개변수 quotient와 remainder 앞에 out을 사용하여 값을 할당받고 호출 후에도 사용할수 있도록 하고,Main 메서드에서 Divide를 호출할때 quotient와 remainder를 전달, a와 b는 각각 7과 3이므로  quotient는 7 / 3의 결과인 2가,remainder는 7 % 4 의 결과인 1이 할당된다. 그렇게 값이 할당 되었으므로 Co..

게임개발/C# 2024.09.21

24-09-20 C# 프로그래밍 기초 02

휴일 지나고 나선 미니 프로잭트 기간때처럼 탠션과 집중력이 유지가 되질 않는다.. 의외로 혼자 공부하는건 적성에 맞지 않는걸까? 아니면 C#이 생각보다 어려운 탓인걸까? 오늘 뭘 배웠길래 이런 감상이 나왔는지 다음과 같이 서술하겠다.. 1)클래스와 객체{객체 지향 프로그래밍{ 객체 지향 프로그래밍 ( Object-Oriented Programming, OOP ) 에 대한 특징을 간단히 요약하자면 1. 캡슐화 : 관련 데이터와 기능을 한 단위로 묶어 안전성과 유지보수성을 높임 2. 상속 : 동물 안에 포유류가 있고, 포유류 안에 식육목 등이 있듯이 클래스를 확장시키는 메커니즘이다.이는 코드의 중복을 줄이고, 구조화와 유지보수를 용이하게 해준다. 3. 다형성 : 오버로딩과 오버라이딩을 통해 하나의 메소드로 ..

게임개발/C# 2024.09.20

24-09-19 C# 프로그래밍 기초 01

더보기visual studio 내에서 F9를 눌러 코드가 멈출 부분을 설정하고 디버그할때 사용할수 있다. 코드를 한칸 진행시키는건 F10 한번에 코드를 주석처리하는법은 Ctrl + K , C 주석을 푸는 방법은 Ctrl + K, U C#문법 종합반 1주차와 2주차를 완강했다. 1주차의 내용은 완전 기본적인 내용 복습하는 느낌이였지만 숙제에서부터 좀 어려워지기 시작했다 문제1 : 사용자로부터 입력 받기 이 문제는 이름과 나이를 입력받고 출력하는 간단한 코드를 작성하는 것이다. 단순히 Console.WriteLine()과 Console.ReadLine()을 사용해서 풀이했다.더보기Console.WriteLine("이름을 입력해주세요"); string name = Console.ReadLine(); Conso..

게임개발/C# 2024.09.19

24-09-13 카드 뒤집기 미니프로젝트 발표

아침 일찍 일어나서 발표 준비를 마저 했다 7시반쯤에 일어나 발표 영상을 촬영 편집했고, 발표 자료까지 완성했다 팀원들도 도착해서 본인 파트의 발표 자료 를 완성해줘서 탈없이 발표 준비 마칠수 있었다. https://youtu.be/iLXQ9LPLITk?si=DbZ8B9DX5S0M84fM  기능 위주 설명은 노션으로 서술했다.  https://rectangular-saver-7f7.notion.site/a751c84958aa405a98b0f50b454e3ddc

게임개발/Unity 2024.09.13

24-09-11 카드뒤집기 미니프로젝트 03

오늘 구현한것 :  카드뒷면 등의 리소스 제작과 씬에 적용과 애니메이션 제작 및 적용이다. 화면위에 있는 초상화 오브젝트를 모든 씬에서통일 해주기로 했고, 코르크 보드 도한 통일했다. 모든 일이 코르크 보드 안에서 일어나는 것처럼. 팀장님이 스테이지와 해금을 구현했고, 심지어 세이브 기능까지 생겼다. 나는 카드를 맞출때 카드 주인이 기뻐하는 연출을 만드려고 애니메이션을 작업했다.  애니메이션 출력에는 새로운 방법을 사용했는데, 기존엔 Bool값만 알고있었으나 이번엔 Trigger를 사용했다. 그러나 관건은이 Trigger를 작동하는 메소드.. 처음엔 GameManager 안에 카드를 맞추는 판정을 하는 동시에 트리거를 발동시키려 했으나, 이 트리거 방동시에도 카드 인덱스와 카드주인을 맞춰줘야 하기 때문에..

게임개발/Unity 2024.09.11

24-09-10 카드뒤집기 미니프로젝트 02

오늘 구현한것 : [클리어 UI 확장]  //  [카드 맞춰지는 연출]  //  [기타 디자인적 구현 등] 클리어 UI 확장   게임이 클리어될때 나오는 UI를 확장시키고, 각 조원이 초상화를 선택시 소개 창이 뜨도록 해줬다. 한 스크립트에 창을 키고 끄는 기능을 만들어 주고      카드 맞춰지는 연출 이부분은 조금 어려웠는데, 구현하고자 하며 접근해본 방법은 이러했다 :  각 카드의 주인별로 초상화를 배치, 위치값 저장 -> 저장한 위치값을 카드 스크립트에 전달, 카드의 인덱스별로 주인(목적지)를 설정. -> 카드가 맞춰질때 이동하면서 Destroy.  각 카드의 주인을 상징하는 초상화를 미리 배치해주고, 그 위치값을 GameManager에서 public을 통해 받아줬다.   미리 함수를 선언해주고 ..

게임개발/Unity 2024.09.10

24-09-09 카드뒤집기 미니프로젝트 01

드디어 본캠프가 시작했고 새로운 조와 만났다. 처음엔 본격적인 조 개발 활동에 앞서 필수로 필요한 GitHub 사용법에 대한 강의를 들었다. Git이란 여러가지 작업자가 버전을 관리할수 있는 방식이고, 사용자가 자기 컴퓨터(로컬 local)에서 서버(리모트 remote)로 업로드하는걸 Push, 반대로 서버에서 컴퓨터(로컬 local)로 다운받을때를 Pull 이라고 한다.  사용자가 버전을 업데이트 할때마다 Summary(요약) 을 적는것을 요구하고, 그렇게 적용된 업데이트를 Commit, 그리고 Commit들이 어떻게 쌓였는지 알아보는 기록을 History 라고 한다. 이부분이 직접 해보면 햇갈리는 부분인데, 자신의 브랜치를 따로 판 다음 만든 변경점들을 부모 브랜치로 merge(병합)해주기 전에 해야..

게임개발/Unity 2024.09.09

24-09-06 개인 프로젝트 : Geometry Survivor 06

마우스로 조준하는 원거리 공격을 미뤄(사실상포기)해두고, 좀더 뱀서스러운 자동 원거리 공격을 강의를 보며 따라해보기로 했다. 일단 캐릭터의 자식 오브젝트로 Scanner를 만들어 적을 찾아 자동 조준하도록 해보겠다. 4가지 변수를 만들었다. 1. float scanRange : 스캔범위.2. LayerMask targetLayer : 특정 레이어를 타겟으로.3. RaycastHit2D[] targets : 스캔된 타겟들, 다수이기 때문에 배열( [] ) 이다.4. Transform nearestTarget : 가장 가까운 타겟. 그 밑에 FixedUpdate로 스캔을 실행할건데, 이 문장도 좀 길어졌다. 풀이하자면. Phsics2D.CircleCastAll 은 2D물리에서 원형으로 스캔한다는것.그 뒤엔 ..

게임개발/Unity 2024.09.06