오늘은 아이템[Coin]을 만들고 플레이어가 Coin 을 획득하는 프로그램을 작성하겠습니다
새 폴더를 만들고 이름을 Coin 이라 하고 동전 파일을 임포트합니다
그림과 같이 임포트 하면 됩니다
동전 맵v 을 선택하여 아래와 같이 속성을 바꿈니다
Materials 폴더에 Material을 생성 하여 그림과 같이 이름을 coin 이라 합니다
새로 만든 Material 에 아래 그림과 같이 Shader를 Unit/Texture를 선택하고 다운 받은 동전맵v 그림을 연결합니다
동전U 를 선택하고 Import Settings 에서 Materials를 선택하여 coin Material을 연결합니다
그리고 동전U를 게임 씬에 드래그하여 올려봄니다
하이라키 에 동전U 오브젝트를 선택하여 아래그림과 같이 tag를 Coin 이라 달고 Spher Collider 와 Rigidbody 를 달고 아래그림과 같이 속성을 변경합니다
새 스크립트를 생성하고 이름을 Coin 이라 합니다
Coin 스크립트를 동전U 오브젝트에 붙힘니다
Coin 스크립트작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Coin : MonoBehaviour
{
public float rotateSpeed = 180f;
[System.NonSerialized]
public int money = 100;
void Start()
{
}
public void SetCoinValue(int money)
{
this.money = money;
}
private void OnTriggerEnter(Collider col)
{
if (col.gameObject.tag == "Player")
{
col.gameObject.GetComponent<PlayerParams>().AddMoney(money);
SoundManager.instance.PlayPickUpSound();
Destroy(gameObject);
}
}
// Update is called once per frame
void Update()
{
transform.Rotate(0f, rotateSpeed * Time.deltaTime, 0f);
}
}
PlayerParams 스크립트를 선택하고 스크립트를 수정합니다
추가
public void AddMoney(int money)
{
this.money += money;
UIManager.instance.UpdatePlayerUI(this);
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerParams : CharacterParams
{
public string name { get; set; }
public int curExp { get; set; }
public int expToNextLevel { get; set; }
public int money { get; set; }
public override void InitParams()
{
name = "hong";
level = 1;
maxHp = 100;
curHp = maxHp;
attackMin = 10;
attackMax = 40;
defense = 1;
curExp = 0;
expToNextLevel = 100 * level;
money = 0;
isDead = false;
//초기화 할때 헤드업 디스플레이에 플레이어의 이름과 기타 정보들이 제대로 표시되도록함
UIManager.instance.UpdatePlayerUI(this);
}
protected override void UpdateAfterReceiveAttack()
{
base.UpdateAfterReceiveAttack();
UIManager.instance.UpdatePlayerUI(this);
}
public void AddMoney(int money)
{
this.money += money;
UIManager.instance.UpdatePlayerUI(this);
}
}
동전U를 선택하고 Prefabs 폴더에 드래그 드롭하여 프리팹을 만듭니다
게임을 실행하면 동전이 회전 하는지 확인하고 플래이어가 닿으면 소리와 함께 사라지고 Coin 점수가 올라 가는지 확인합니다
'게임 만들기 강좌 > 유니티 3D RPG 게임만들기' 카테고리의 다른 글
unity 유니티 게임 만들기 RPG 게임만들기 24 XML Manager 만들기 (0) | 2019.07.23 |
---|---|
unity 유니티 게임 만들기 RPG 게임만들기 23 오브젝트 매니저 만들기 아이템 관리 (0) | 2019.07.21 |
unity 유니티 게임 만들기 RPG 게임만들기 21 적 캐릭터 리스폰 초기화 하기 (0) | 2019.07.17 |
unity 유니티 게임 만들기 RPG 게임만들기 20 적 캐릭터 재생산 하기 게임 매니저 만들기 (0) | 2019.07.13 |
unity 유니티 게임 만들기 RPG 게임만들기 19 적 캐릭터 자동 생성 하기 Spawn Manager 만들기 (1) | 2019.07.11 |