일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- const l-value참조자
- 알고리즘 조건
- const화
- C언어 계산기 프로그램
- 원형 연결 구조 연결된 큐
- auto 키워드
- 범위 기반 for문
- 운영체제 기능
- 프로그래머스 푸드 파이트 대회
- 회전 및 자리 이동 연산
- string유형
- IPv4 주소체계
- 괄호 검사 프로그램
- c언어 괄호검사
- 프로그래머스 배열만들기4
- 논리 연산
- 유형 변환
- LAN의 분류
- getline()함수
- 값/참조/주소에 의한 전달
- 입출력 관리자
- r-value참조자
- l-value참조자
- 주기억장치
- 네트워크 결합
- C언어 덱
- 백준 파이썬
- 문자형 배열
- 문제해결 단계
- C언어 스택 연산
- Today
- Total
목록unity (31)
chyam

게임 매니저를 만들어준다. --GameManager 스크립트 --public Dongle lastDongle;public GameObject donglePrefab;public Transform dongleGroup;private void Awake(){ Application.targetFrameRate = 60;}최근 공을 Dongle에 저장한다.공을 프리펩으로 만들어서 넣는다. 공의 y축을 고정시키기 위해서 위치를 불러온다. 공들은 donglegroup으로 묶어서 관리한다. targetFrameRate는 프레임을 뒤의 숫자로 고정?시켜준다. private void Start(){ NextDongle();}Dongle GetDongle(){ GameObject instant = Inst..

골드메탈님 영상으로 배운것들 정리하기! 먼저 카메라 비율을 변경하였다.Aspect Ratio로 9대19 비율로 만들어주었다. 저 동그란 공은 처음에 자유낙하를 하면 안되므로, rigidbody에서 simulated에 체크를 해제하였다. 그리고 콜라이더 반지름을 크기에 맞게 조금 늘렸다. 이런 식으로 만들때, 바닥과 벽은 충돌되어야하고, 그대로 멈춰있어야한다. 충돌하기 위해는 콜라이더가필요하고, transform 컴포넌트의 전달과 콜라이더와의 연결을 위해서 rigidbody를 추가한다. 이 때, 벽과 바닥은 고정되어있어야 하므로, body type을 dynamic이 아닌 static으로 바꾼다. 빈 오브젝트를 생성하여 배경,바닥,벽, 라인을 그룹으로 묶어준다.라인은 box 콜라이더도 추가해주었고, 충..

anyKeyDown : 아무 입력을 최초로 받을때 true를 가진다. ex) if(Input.anyKeyDown) ~ : 아무 키나 눌렀을때 ~를 실행. anyKey : 아무 입력을 받는 동안 trueex) if(Input.anyKey) ~ : 아무 키를 누르는 동안 (꾹 누르기) ~를 실행 GetKey : 키보드 버튼 입력 받으면 trueex) if( GetKey(KeyCode.Return)) ~ : Enter키를 누르는 동안 ~를 실행Return 대신 A, W, Escape, LeftArrow 등을 쓸 수 있다. 얘도 Down, Up있음.. GetMouseButton : 마우스 버튼을 입력 받으면 true. 0은 좌클릭, 1은 우클릭이다.ex) if( GetMouseButton(0)) ~: 좌클릭 ..

>설정 UI 버튼으로 만들기실행하면 화면이 어두워지는데 이는 검은색 배경을 처음에 만든 다음에 전체화면으로 만들어서 투명도를 낮춰주었다. 전체화면은 shift+alt하고 맨오른쪽 맨밑에꺼 누르면된다. 앞에서 배운대로 anchor설정을 건들여서 퀘스트 내용이 나오는 부분은 맨위에 해두었다.종료는 약간 주의하라고 빨간색으로했다. -계속하기 버튼 public GameObject menuSet;GameManager에 선언해준다. private void Update() { if (Input.GetButtonDown("Cancel")) { if (menuSet.activeSelf)//켜져있는가 { menuS..

>TypeEffect 스크립트public int CharPerSeconds;public GameObject EndCursor;public bool isAnim;TextMeshProUGUI msgText;AudioSource audioSource;int index;float interval;string targetMsg; //원래 대화저장CharPerSeconds(CPS)는 초당 몇개의 글자가 나오도록할것인지 저장한다.isAnim은 애니메이션실행중인지 여부. msgText는 대화 텍스트를 저장하고, audioSource도 저장해준다. index는 대화 하나 안에 있는 글자 인덱스이다. interval은 CPS를 조절하기위한 변수이다. targetMsg는 원래 대화를 저장해준다. -Awake에서 초기화를 해..

>QuestManager생성 QuestData도 만들어준다. 이는 npc번호와 퀘스트이름을 저장해준다.GameManager에 QuestManager 끌여다놓아야한다. (코드에 선언 후에) >코드 수정, 구현-QuestData 스크립트-처음에 QuestData뒤에 :MonoBehaviour를 제거해주었다. 쓸필요가없어서. public class QuestData{ public string questName; public int[] npcId; public QuestData(string name, int[] npc) { questName = name; npcId = npc; }}스크립트 이름이랑 같이 선언하면 이는 생성자로 함수가 실행되면 바로 같이 실행된다. ..

> 물체의 데이터를 저장 ObjData라는 스크립트를 만든다. 여기서 물체의 id와 Npc인지 여부를 저장한다.public int id;public bool isNpc; >npc와의 대화 늘리기Dictionary talkData;딕셔너리를 통해서 대화들을 저장한다. -Awake함수private void Awake(){ talkData = new Dictionary(); GenerateData(); } -GenerateData함수talkData.Add(1000, new string[] { "안녕?:0", "이곳에 처음 왔구나?:1" });talkData.Add(2000, new string[] { "안녕? 반가워:1", "나는 NPC2야:2" });talkData.Add(100, new string[] ..

>UI 이미지 생성source image에 원하는 사진을 끌여다 넣으면 된다. 그리고 원래 image type은 simple인데 sliced를 해준 이유는, image의 크기를 늘리면 그림이 깨지기때문이다.아래처럼 하는 방법은, sprite editor에 들어가서 설정해야한다.미리 설정을 해뒀는데, Border부분에서 숫자를 건들이면 그림에서 초록색부분으로 뜬다. 초록색 바깥쪽으로는 픽셀이 깨지지 않는다. apply한 다음에 이미지에서 sliced로 바꿔주면된다. 그리고 캔버스에서 pixel perfect라는것을 체크해야한다. 이것을 하면 게임에서 스프라이트나 오브젝트의 움직임, 충돌 판정 등이 픽셀 단위로 정확하게 계산되고 처리되어 깔끔해진다. 대화창의 위치를 상대적으로 하기 위해서 anchor를 사용..