2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

반응형

응용프로그래밍 119

[유니티2D] 네비게이션 길의 경로 표시하기

목표 Debug.DrawLine 으로 가야 하는 길의 경로를 표시하는 방법을 살펴 보자. 사용법 Debug.DrawLine(시작위치,종료위치,색상,표시하는 시간,카메라에서 가까운 오브젝트에 의해 가려졌는지 여부) 2022.06.06 - [응용프로그래밍/유니티기초] - [유니티2D] 배열맵을 이용하여 출발지에서 목표로 이동하는 네비게이션 만들기 [유니티2D] 배열맵을 이용하여 출발지에서 목표로 이동하는 네비게이션 만들기 2022.06.06 - [응용프로그래밍/유니티기초] - [유니티2D] 타일맵을 이용하여 배열 맵 구축 2D Object -> Tilemap-> Rectangular 선택하여 타일맵 추가 Open Tile Plalette 를 클릭하여 타일맵 팔렛트를 오픈 팔렛.. thinkmath2020.t..

[유니티2D] 배열맵을 이용하여 출발지에서 목표로 이동하는 네비게이션 만들기

2022.06.06 - [응용프로그래밍/유니티기초] - [유니티2D] 타일맵을 이용하여 배열 맵 구축 [유니티2D] 타일맵을 이용하여 배열 맵 구축 위의 파일을 다운로드 하여 프로젝트 추가 하이어라키 -> 2D Object -> Tilemap-> Rectangular 선택하여 타일맵 추가 Open Tile Plalette 를 클릭하여 타일맵 팔렛트를 오픈 팔렛트가 뜨면 아래 이미지를 모두.. thinkmath2020.tistory.com 타일맵을 이용하여 배열맵 구축한 것을 이용하여 player와 보물을 두고 player가 최단 거리로 찾아가는 방법에 대해 살펴 보자. 에셋스토어에서 시티 팩-하향식-픽셀 아트 를 다운 받아서 자동차를 player로 사용했다. 시티팩을 적용하면서 기존에 만들었던 씬이 삭제..

[유니티2D] 타일맵을 이용하여 배열 맵 구축

위의 파일을 다운로드 하여 프로젝트 추가 하이어라키 -> 2D Object -> Tilemap-> Rectangular 선택하여 타일맵 추가 Open Tile Palette 를 클릭하여 타일맵 팔렛트를 오픈(Open Tile Palette 가 보이지 않는 경우 Windows->2D->Tile Palette 선택) 팔렛트가 뜨면 아래 이미지를 모두 선택해서 드래그&드롭 팔레트에서 이미지 선택하여 드래그&드롭으로 지도를 그린다. background를 이용하여 맵의 크기를 생성하기 위해 Box Collider 2D를 추가하여 background 크기에 맞춰서 설정을 해 준다. 새로운 타일맵을 생성하여 주변에 벽을 쌓고 중간 중간에 돌과 기타 장애물을 이용하여 갈 수 없는 곳을 만들어 본다. [ (대괄호) 키를..

[유니티2D 활용] 테트리스 게임 만들기

목표 배운것을 활용하여 테트리스 게임을 만들어 보자. 실습 1. 먼저 테트리스 게임을 위해서 다음과 같은 형태의 블럭을 만들어 놓자. 만드는 과정은 다음과 같다. 먼저 T 블럭을 만드는 과정을 살펴 보자. 먼저 Square 를 하나 추가 한다. 한칸을 1*1 짜리로 만드는데 중간에 차이를 만들어 주기 위해 한개 블록의 크기를 0.9 * 0.9 크기로 만들어 주자. CTRL+D 를 이용해서 3개를 복사 한 후 각각의 위치를 (-1,0),(1,0),(0,-1) 로 만들어 주면 다음과 같이 만들어 진다. 이것을 하나의 객체로 만들어 주자 GameObject를 하나 만든 후 이름을 TBlock으로 만들어 준다. 그리고 4개의 Square 를 끌어서 TBlock 안으로 끌어다 넣어 준다. T 블럭의 색상을 보라색..

[유니티2D활용]지뢰찾기 게임 만들기

목표 배운 것을 이용하여 객체를 생성하고 지뢰위치를 찾는 프로그램을 작성해 보자. 실습 1. Square 를 추가하여 프리팹으로 만들어 놓는다. size를 0.9,0.9 크기로 만든다. 2. 블럭을 동적으로 할당 할 것이므로 스크립트를 실행할 GameObject를 생성하여 다음 스크립트 추가 동적객체생성( https://thinkmath2020.tistory.com/3506?category=1019149 ) 참고. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Block : MonoBehaviour { public int height=10,width=10; //기본으로 10 x 10 pu..

[유니티기초]2-05. 플레이어 위치를 찾아서 그쪽으로 이동을 해 보자.

목표 플레이어 를 태그로 찾아서 그 위치로 이동하는 부분을 구현해 보자. 실습 플레이어에 태그를 Player 로 선택하자. 2022.06.01 - [응용프로그래밍/유니티기초] - [유니티기초]2-04. 애니메이션 [유니티기초]2-04. 애니메이션 목표 오크와 드래곤이 각각 공격 명령을 받으면 공격하는 행동을 취하고 움직임,사망 등의 애니메이션을 만들어 보자. 실습 1. 먼저 드래곤의 이미지를 살펴 봅시다. 주어진 이미지는 attack(공격) thinkmath2020.tistory.com 애니메이션을 만들었던 orc 에 다음과 같이 스크립트를 추가하면 Player 위치를 찾아서 이동하는 것을 확인 할 수 있다. using System.Collections; using System.Collections.Ge..

[유니티기초]2-04. 애니메이션

목표 오크와 드래곤이 각각 공격 명령을 받으면 공격하는 행동을 취하고 움직임,사망 등의 애니메이션을 만들어 보자. 실습 1. 먼저 드래곤의 이미지를 살펴 봅시다. 주어진 이미지는 attack(공격),crouch(웅크림),die(사망),dizzy(어지러운),flykick(플라이킥),hurt(아픈),idle(대기),jump(점프),jumpATK,strike(스트라이크),walk(걷다),win(승리) 가 있는 것을 확인 할 수 있다. 여기서 각각의 애니메이션을 구현해 본다. window -> Animation -> Animation 클릭 드래곤 선택 후 Animation -> Create 클릭 하여 dragon_attack 생성 Animation 에 01 부터 03 까지 순서대로 배치 하자. 그리고 03 에서..

[유니티기초] 2-03. 두 객체가 부딪혔을 때 밀림 방지

목표 게임 중에 적군을 만나서 전투 중에 밀면 적군이 밀리는 증상이 발생한다. 이때 적군이 밀리면 안되기 때문에 이러한 처리 방법을 알아 보자. 실습 2022.05.31 - [응용프로그래밍/유니티기초] - [유니티기초] 2-02. 다형성과 인터페이스 [유니티기초] 2-02. 다형성과 인터페이스 목표 1. 다형성이 무엇인지 알아보고 구현하는 방법을 살펴 보자. 2. 인터페이스 사용법을 알아 보자 이론 1. 다형성 플레이어와 적이 있다면 공통적으로 생명체로 동작하게 되며 생명력과 누군 thinkmath2020.tistory.com 이 코드를 실행해 보면 플레이어가 드래곤이나 오크를 만났을때 밀면 밀리는 증상이 나타난다. 따라서 몬스터가 말을 하는 시점에 Rigidbody 2D의 Constraints 의 Fr..

[유니티기초] 2-02. 다형성과 인터페이스

목표 1. 다형성이 무엇인지 알아보고 구현하는 방법을 살펴 보자. 2. 인터페이스 사용법을 알아 보자 이론 1. 다형성 플레이어와 적이 있다면 공통적으로 생명체로 동작하게 되며 생명력과 누군가에게 데미지를 입히거나 다른 생명체로 부터 데미지를 얻을 수 있다. 이러한 생명체 클래스는 부모의 구현을 재사용 가능하며 부모클래스 타입으로 일괄 처리가 가능하다. 1. 상속관계에서의 다형성 몬스터가 있고 몬스터의 종류에는 오크와 드래곤이 있다고 가정해 보자. 몬스터의 속성으로는 데미지가 있고 공격을 할 수 있는 능력이 있다고 하면 몬스터 클래스를 다음과 같이 구현 할 수 있다. public class Monster : MonoBehaviour{ public void Attack(){ Debug.Log("공격"); ..

[유니티기초] 2-02.싱글턴 패턴

목표 싱글턴 패턴의 필요성을 알아보고 구현하는 방법을 살펴 보자. 싱글턴 패턴의 필요성 프로젝트를 수행할 때 관리자 역할을 하는 GameManager(파일매니저,몬스터매니저,점수매니저 등)는 프로그램에 단 하나만 존재해야 한다. 그리고 어디서든 즉시 접근이 가능해야 한다. 1. 단일 오브젝트 만약 점수를 관리하는 점수매니저가 두개라고 하면 최고 점수도 두개가 될 수 있다. 이와 같은 이유로 관리매니저는 단 하나만 존재해야 한다. 2. 손쉬운 접근 매니저는 프로그램의 특정영역이 아나라 어느곳에서 사용할 수 있는 편의 기능을 제공한다. 따라서 매니저 오브젝트는 어느곳에서나 쉽게 접근하여 사용할 수 있도록 구현해야 된다. 3. 싱글턴을 사용하는 이유 게임매니저 오브젝트는 단 하나만 존재 어떤 곳에서도 손쉽게 ..

반응형