목록모바일 (12)
브래의 슬기로운 코딩 생활
spawnPoint = gameObject.transform.GetChild(0).gameObject //자식 객체를 스폰포인트 변수로 지정 IEnumerator Shoot() //코루틴 선언,정의 { Rigidbody rb = spawnPoint.GetComponent(); // 스폰포인트의 Rigidbody를 rb 변수에 저장rb.AddForce(spawnPoint.transforn.forward*30f); // 스폰포인트를 앞으로 30만큼의 힘을 가함yield return new WaitForSeconds(1f); // 1초 기다린후 코루틴 종료} void Update(){StartCoroutine("Shoot"); // Shoot 코루틴 시작} GameObject bullet2 = Instanti..
오늘부터는 본격적으로 리엑트를 배웠다. 일단 내가 만든 html에 리엑트를 추가 하는 것 부터 실습했다. https://ko.legacy.reactjs.org/docs/cdn-links.html https://ko.legacy.reactjs.org/docs/add-react-to-a-website.html create-react-app (CRA) ⁃리액트로 웹 애플리케이션을 개발하는 데 필요한 모든 설정이 되어 있는 상태의 프로젝트를 생성해 주는 도구 npx - execute npm package binaries - npm - node.js 의존성, 패키지 관리 (설치/삭제) - npx - node.js 패키지를 실행시키는 하나의 도구 패키지의 최신버전 파일을 불러와 설치/실행하고 사용 후에는 해당 패키..
1주차는 앞으로 이 수업에서 무엇을 배울 것인지 소개해주시고 실습 조금 하고 끝났다. 일단 React와 Node.js를 배운다고 하셧다. https://github.com/coreybutler/nvm-windows/releases 그리고 위 링크에 들어가서 nvm이라는 걸 다운받고 콘솔창에서 뭔가를 많이 다운받았다. 처음이어서 그런지 뭘 하는건지 몰랏지만 그냥 따라했다. 뭔지를 알아야 블로그에 쓰는데 뭔지 모르겠어서 챗 지피티에게 물어보고 포스팅 하기로 했다. 위 처럼 물어보니 아주 친절하고 알기 쉽게 답해주었다. 정리하자면 React는 자바스크립트 라이브러리 이고 Node.js는 자바스크립트가 웹에서 동작하게 만드는 플렛폼, nvm은 그 Node.js의 버전을 관리해주는 것 인가보다. 이것으로 보았을 ..
Addforce() - rigidbody에 기반한 힘 - 힘=가속도=속도의 변화량이기 때문에 속도라기보다는 속도 변화에 대한 값 Rigidbody.velocity: Rigidbody의 속도벡터 Rigidbody.Addforce(방향 * 힘)=> 가속도(힘)을 지정할 수 있는 속성 Rigidbody2D rigid2D; void Start() { this.rigid2D = GetComponent(); // Rigidbody2D부여 } if(Input.GetKeyDown(KeyCode.Space) && this.rigid2D.velocity.y == 0) { // Y축으로 움직이지 않고 스페이스바를 누르면 this.rigid2D.AddForce(transform.up * this.jumpForce); // 점..
isKinematic은 물리 엔진의 영향을 받지 않는 상태이다. 즉 이 값이 true이면 그 자리에서 멈추게 된다. GameObject B = Instantiate ( A ) as GameObject; // B 게임 오브젝트는 A게임 오브젝트의 복제이다. Ray = Camera.main.ScreenPointToRay(Input.mousePosition); // Ray는 카메라에서 마우스커서 위치로 향하는 가상의 선이다. Vector3.normalized // Vector3는 방향과 길이가 있는데 정규화를 하면 길이가 1로 고정됨 정규화를 하는 이유는 방향정보만 있고 속도가 1이라면 원하는 숫자를 곱해서 속도를 조절할수 있기 때문이다. Ray ray = Camera.main.ScreenPointToRay(..
오늘 만든 게임이다. 간단하게 떨어지는 물체를 바구니에 담는 게임 이다. Tag를 사용해 아이템 종류 판별하기 • 바구니에 받은 것이 무엇인지 판별하기 위해 tag사용 –아이템이 충돌했을 때 호출되는 OnTriggerEnter 메서드 –충돌 상대의 태그가 Apple이면 Tag => Apple, Bomb이면 Tag => Bomb가 됨 void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Apple") { } else { } Destroy(other.gameObject); } –X좌표와 Z좌표에 각 각 -1, 0, 1 값을 무작위로 대입 –무작위 값을 대입하는 데는 Random 클래스 의 Range 메서드를 사용 Ray ray = Camera..
오늘은 고양이가 떨어지는 화살표를 피해야하는 간단한 게임을 만들었다. 사용된 개념 int px = Random.Range(-3, 4); :-3~3의 값 중 임의의 값이 px에 저장 public GameObject arrowPrefab;//화살표에 연결 //arrowPrefab이 복제됨 void Update(){ GameObject go = Instantiate(arrowPrefab) as GameObject } void Update() { GameObject go = Instantiate(arrowPrefab) as GameObject; int px = Random.Range(-3, 4); go.transform.position = new Vector3(px, 7, 0); } Time.deltaTime ..
transform.Translate(x,y,z):게임오브젝트를 현재 위치에서 x,y,z의 거리만큼 이동시키는 명령어 transform.Translate(0,0,1);=>z축 방향으로 1만큼 움직임 transform.Rotate(x, y, z); = 0회전 자식은 부모와 함께 움직임 •스크립트로 Rigidbody부착 – gameObject.AddComponent(); •gameObject:스크립트가 연결되어 있는 게임 오브젝트 자신을 가리킴 •public변수:클래스(또는 스크립트파일)외부에서 접근 가능 •private변수: 변수가 선언된 클래스 안에서 만 접근가능 •local변수: 변수가 선언된 중괄호 내부에서만 접근 가능 Start():자동으로 한번 실행 Update(): 매 프레임마다 실행 1초에 1m..
오늘은 자동차를 스와이프 하면 스와이프 한 거리 만큼 이동하게 하는 게임을 만들었다. 이번에도 저번주에 만들었던 룰렛 게임과 비슷한 원리로 만들었다. 그리고 다음주는 시험인데 오픈북 시험이다. -4월26일 중간고사 1) 일시: 4월26일 14시-15시30분(1시간 30분) 2) 장소: 인관 301호 3) 방식: Open PPT(다른 자료도 허용, 그러나 학생간 공유는 안됨) 4)범위: Chapter1~Chapter7(chapter5제외) * 전자기기 반입금지 *시험전 동영상 수강(출석에 포함)
게임 맵, 배경 제작 GameGbject - 3D - Terrain(지형) 왼쪽 마우스를 누르고 드래그 하면 지형 생성 / 쉬프트를 누르고 드래그 하면 지형 사라짐 or 컨트롤 + Z 브러쉬 모양과 사이즈, 강도에 따라 지형이 다르게 나타남 Set Height를 클릭하고 Height를 30으로 지정하여 Flatten All을 클릭하면 높이가 일정한 두꺼운 지형이 만들어짐 택스쳐 선택 창이 나옴 - 택스쳐 선택 - 택스처가 입혀짐 - 다시 Create Layer - 다른 택스쳐 선택 - 마우스 드래그 하면 해당 택스쳐만 부분적으로 적용 가능 쉬프트 드래그 하면 지워짐 Brush Size:나무크기, Tree Density:나무들의 수 Brush Size가 크고 심을 공간이 좁으면 심어지지 않음 쉬프트 + 클..