본문 바로가기

development/C#, unity

스파르타코딩클럽 게임개발 2주차 개발일지


2주차 요약

 

0. 1주차 복습 - 유니티 초기세팅, 사용법, 프리펩, 싱글톤
1. 마우스 포지션을 잡아서 요소 제어
2. 게임오버 패널에서 최고점 기억
3. 색바뀌고 터지는 애니메이션

4. 게임중 필요없어진 오브젝트 삭제


---------
유니티 초기셋팅
window-layout-2 by 3
project우클릭-one column Layout
게임 화면비율 설정(Free- Aspect->phone)
project-Scenes폴더 내부SampleScene이름변경 - MainScene

백그라운드 설정
Hierarchy우클릭-게임오브젝트-2d오브젝트-sprites-square
이름 background설정

같은방식으로 오브젝트 만들기
order in Layer =1로 설정
---------
이미지없이 스프라이트로 애니메이션 만들기
애니메이션 폴더 - 애니메이션 만들기-Loop Time 체크
balloon에 드래그&드랍시 벌룬 컨트롤러 생성
레코드버튼-시간별 색,포지션,크기 변경
----
마우스 포인터 따라 위치변경하게 만들기
Scripts

 void Update()
    {
        Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        transform.position = new Vector3(mousePos.x, mousePos.y, 0);
    }

----
떨어지게하기
addcomponent에서 검색rigidbody 2d
충돌
box collider 2d
------------
gameManager

자동생성
Instantiate
InvokeRepeating

프리팹 폴더 만들어서 square넣고
기존square삭제
겜메니저 클래스 내부에
    public GameObject square; 선언

void Start()
    {
        InvokeRepeating("makeSquare", 0.0f, 0.5f);
    }
void makeSquare()
    {
        Instantiate(square);
    }



랜덤위치,크기 생성

void Start()
    {
        float x = Random.Range(-3f, 3f);
        float y = Random.Range(3f, 5f);
        transform.position = new Vector3(x, y, 0);
        float size = Random.Range(0.5f, 1.5f);
        transform.localScale = new Vector3(size, size, 0);
    }

-----
UI에서 text 받기

using UnityEngine.UI;

public Text timeTxt;

시간 올리기

float alive = 0f;

void Update()
{
    alive += Time.deltaTime;
    timeTxt.text = alive.ToString("N2");
}

------
게임 끝내기
싱글톤 처리 및 종료조건, 함수작성
------
playerprefs는 key valrue 페어로 저장