전체 글475 프롭 + 데미지 시스템 , Instantiate(), Tag & Layer , Physics 프롭 물리적 기능 필요하면 뭐 넣는다? RigidBody!!! 튕겨 나갈 수 있도록 RigidBody를 넣기 Prop 스크립트 추가 * 기능 - 프롭은 기본적으로 체력을 가지고 있어서 일정 이상의 데미지를 받으면 파괴가 되어야 함 - 자기 자신이 파괴되었을 때 게임 매니저에게 자기 자신이 파괴 되었다는 것을 알리고 점수를 추가해줘야 함 - 자기 스스로 실행시키는 것이 아니라 외부에서 데미지를 주는 친구가 프롭에게 가서 TakeDamage 라는 함수를 발동시켜서 프롭에게 데미지를 줄 것임 Instantiate(); 이 안에 원본 게임오브젝트를 넣어주면 그 원본 게임오브젝트를 새로 하나 복사해줌 새로 하나 찍어낼 때 옵션을 줄 수도 있음 (position, rotation) 위치 지정 안하면 랜덤한 위치나 .. 2021. 7. 15. 회전 포신, 포탄 만들기 회전 포신 enum을 통해 RotateState 지정 GetButton 이용하기 - 자세한 Input 내용은 InputManager 가서 확인, 수정 가능 Edit - Project Settings - Input 회전 전체 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShooterRotator : MonoBehaviour { private enum RotateState { Idle, Vertical, Horizontal, Ready } private RotateState state=RotateState.Idle; public float verticalRotateSpeed = 360.. 2021. 7. 15. 코루틴 코루틴: 처리와 처리 사이에 대기 시간 삽입 가능, 여러 처리를 순차적으로 처리하는 것이 아니라 동시에 병렬로 처리할 수 있도록 함 ex. Fade in, out 기능을 구현하고 싶을 때 이렇게 하면 너무 빨라서 서서히 Fade in 처럼 안보임. 이럴 때 해결책은 중간에 대기시간을 넣어주는 것임. 알파값을 빼주고 대기하고 빼주고 대기하는 식으로 구현해야 함! 즉, 코루틴은 대기시간을 삽입할 수 있는 유니티 기능임 (C#에 없는 유니티에만 있는 고유 기능이기 때문에 문법을 신경 쓸 필요는 없음) 코루틴 특징 1: 코드 중간에 대기시간 삽입 가능 A 처리를 하고 yield문을 만난 순간 앵커 박고 명시되어 있는 시간 만큼 코드 밖으로 빠져 나가서 쉬다가 마지막 yield문으로 돌아와서 그 다음 코드 실행... 2021. 7. 13. UI / 오디오 / 최종빌드 UI를 만들면 자동으로 Canvas와 EventSystem이 생김 EventSystem은 UI 요소들에게 유저 입력(키보드, 마우스, 터치 등)을 받아서 전달해주는 역할을 함. 자동으로 작동하기 때문에 만질 필요 없음 Canvas는 UI 상의 좌표계랑 게임 상의 좌표계랑 다름. 게임 세상 = 3차원, UI = 2차원(사각형 영역의 오버레이로 표시됨) Canvas는 게임 화면과 1:1 대응됨 ( 게임 씬 크기 조정하면 캔버스도 자동으로 조정됨) 게임 세상과 관련 없고 화면 크기와 관련되어있음. Canvas는 UI를 위한 좌표계. 다시 말하면 UI 등의 모든 요소들은 Canvas안에 들어가야 함 Anchor Presets 그냥 누르면 안되고 alt 키 누르면서 마우스로 선택하기 Text size를 키우니 짤.. 2021. 7. 13. 싱글톤 디자인패턴: 프로그래머들 사이에서 공유되는 어떤 코드를 작성하는 방향. 싱글톤: 게임이나 메모리상에 단 하나만 존재, 언제 어디서든 접근 가능한 오브젝트를 만들 때 사용되는 디자인 패턴 예시: Ninja Obj들 중에서 NinjaKing을 찾고 싶을 때 static 변수에 NinjaKing을 만들고 그 안에 Naruto를 넣으면 NinjaKing이 누군지 하나씩 살펴볼 필요 없이 Sakura, Sasuke가 static NinjaKing 변수에 누가 들어있는지 보면 됨 싱글톤은 OO Manager 처럼 단 하나만 존재하고 모든 친구들이 손쉽게 쓸 수 있을 필요가 있는 오브젝트를 만들 때 씀. 예를 들어 몬스터는 여러개 있을 수 있지만 몬스터를 관리해주는 친구는 하나만 있으면 됨. 그러면 그 몬스터 매니저.. 2021. 7. 13. 리스트(List) 리스트는 배열과 비슷하게 여러가지 게임 오브젝트를 한번에 다루게 해줌! 하지만 배열과 달리 방의 갯수가 실시간으로 변화하던지 실시간으로 게임 오브젝트를 넣거나 뺄 수 있음. - 리스트가 필요한 상황 배열을 쓰면 한번 방의 갯수가 정해지면 그 방을 늘려서 뭔가를 집어넣을 수가 없음. 방의 개수를 늘릴 수 있는 유일한 방법은 건물을 통째로 무너트리고 새로 짓는 것 밖에 없음. 만약 기존 값들을 유지하고 싶으면 기존 배열에 있던 모든 값들을 순회해서 새로운 배열에 넘겨주는 수 밖에 없음. 이럴 때 리스트가 필요함. 리스트는 배열과 달리 방의 갯수를 정하는 게 아니라 방의 갯수가 들어오는 사람 만큼 생김. 배열과 달리 총 개수를 알 수 없을 때 씀. - 리스트 사용법 리스트 선언할 때 using System.C.. 2021. 7. 13. 이전 1 ··· 62 63 64 65 66 67 68 ··· 80 다음