1. 화면 세로 조정
2. UI -> Canvas 추가 -> Render Mode(Screen Space-Camera) -> Render Camera에 Main Camera 드레그&드롭
3. Player 생성
2D Object ->Sprites
Assets에 Sprites 폴더 만들기 -> 폴더에 내가 좋아하는 캐릭터 추가!!
인스펙터에 Sprite Renderer에 Sprite에 추가한 캐릭터 드레그&드롭
Add Component에 Rigidbody 2D/Circle Collider 2D 추가
4. 움직임 스크립트 만들기
Scripts 폴더 생성 -> Create -> C# Script -> 스크립트 이름 (Movement)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement : MonoBehaviour
{
// 현재 캐릭터의 Transform 컴포넌트 참조
public Transform trans;
public float speed;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
// Input.GetAxisRaw를 이용해 좌우 방향키값을 전달 받음
// 좌 : -1, 우 : 1, 누르지않음 : 0
float h = Input.GetAxisRaw("Horizontal");
// Input.GetAxisRaw를 이용해 상하 방향키값을 전달 받음
// 하 : -1, 상 : 1, 누르지않음 : 0
float v = Input.GetAxisRaw("Vertical");
//Debug.Log("좌우 이동 값 : " + h + ", 상하 이동 값 : " + v);
// 방향 벡터 생성
// 오른쪽 -> 1, 0, 0
// 왼쪽 -> -1, 0, 0
// 위쪽 -> 0, 1, 0
// 방향 객체 생성(구조체)
Vector3 direction;
direction.x = h;
direction.y = v;
direction.z = 0;
// 이동 공식
// Transform.Translate(방향 * 속도 * Time.deltaTime);
trans.Translate(direction * speed * Time.deltaTime);
}
}
5. Player 인스펙터에 스크립트 추가 -> Transform 드레그&드롭
Speed 설정하기 -> 우선 4로 해보자!!
6. 코인 생성
2D Object ->Sprites -> Duplicate 5개 생성 (단축키 : alt+d)
인스펙터에서 Player 처럼 Circle Collider 2D 추가
7. 코인아이템 pickup 스크립트 만들기
Create -> C# Script -> 스크립트 이름 (CoinPickup)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//유니티 UI 사용
using UnityEngine.UI;
public class CoinPickup : MonoBehaviour
{
// 아이템 카운트 표시용 텍스트 참조
public Text coinCountText;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
// 충돌 이벤트 함수
// collision 매개변수 : 현재 충돌된 게임오브젝트의 Collider 컴포넌트 참조
private void OnCollisionEnter2D(Collision2D collision)
{
Debug.Log("현재 캐릭터가 무언가랑 충돌함");
// coinCountText의 text(string) 값을 정수로 변환함
// string -> int : int.Parse("문자열");
int count = int.Parse(coinCountText.text);
// 카운트값 1 증가
// count = count + 1;
// count += 1;
// count++;
// 아이템 획득 카운트를 1 증가
count++;
// int -> string : 정수형변수.ToString();
coinCountText.text = count.ToString();
// 게임오브젝트 파괴
// Destroy(게임오브젝트참조)
// 아이템 파괴
Destroy(collision.gameObject);
}
}
8. 점수판 추가
만들어둔 Canvas를 클릭하고 마우스 오른쪽 버튼 -> UI -> Text -> 이름은 CoinCount
왼쪽 상단에 놓고 -> Text에 0 -> Font Style (Bold) -> Font Size (50) -> Alignment 가운데 정렬 -> Horizontal/Vertical Overflow (Overflow) -> Color (흰색)
9. Player에 Coin Pickup스크립트 Coin Count Text에 드레그&드롭
10. 코인을 먹을 때마다 점수가 올라감!!
'Unity > 코인먹기 게임' 카테고리의 다른 글
[유니티] 랜덤한 아이템 생성하기 (0) | 2021.04.27 |
---|---|
[유니티] 랜덤하게 코인 생성하기+게임종료 장면 추가하기 (0) | 2021.04.26 |
[유니티] 코인 prefab 만들기 (0) | 2021.04.25 |
[유니티] 캐릭터가 화면을 넘어가지 않도록 만들기 (0) | 2021.04.25 |
댓글