728x90

필요한 신

1. 타이틀 신 

1.1 인트로

1.2캐릭터선택창

1.3 튜토리얼

2. 메인 신 

2.1 인벤토리

2.2 강화

2.3 퀘스트 및 업적

3. 인게임 신

3.1 캐릭터 구현 

3.2 스킬 구현

3.3 몬스터 구현

3.4 몬스터 패턴

3.5 아이템 드랍

 

원래는 Ray를 이용하여 캐릭터선택을 할 예정이였는데 스크립트를 짜는도중 Ray로는 너무힘들거 같아서 youtube 를 참고하여 내식으로 변경하여 사용하였다.

 

참고영상

https://www.youtube.com/watch?v=pRw_YzkZThc&t=278s 

 

DataManger 스크립트는 변경할 필요가없어서 똑같이 진행하였고

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public enum Character
{
    Archer, Warrior, Paladin, Fighter
}
public class DataManger : MonoBehaviour
{
    public static DataManger instance;
    private void Awake()
    {
        if (instance == null) instance = this;
        else if (instance != null) return;

    }

    public Character curCharcter;
   
}

 

 

캐릭터 고르는 선택신이 살짝 내가 생각했던것과는 달라서 많이 수정하였다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class PickCharacter : MonoBehaviour
{
    public Character character;
    Animator _myAnim;
    public PickCharacter[] chars;

    private void Start()
    {
        _myAnim = GetComponent<Animator>();
       
    }
    // Update is called once per frame
    private void OnMouseUpAsButton()
    {
        DataManger.instance.curCharcter = character;
        
            OnSelect();
        
        
        for(int i =0; i<chars.Length; i++)
        {
            if (chars[i]!=this)chars[i].NotSelect();
        }
        
    }
    public void NotSelect()
    {
        
            _myAnim.SetTrigger("Not");
       
    }

    public void OnSelect()
    {
        if (_myAnim.GetBool("IsPickState") == false)
        {
            _myAnim.SetTrigger("Pick");
            _myAnim.SetBool("IsPickState", true);
        }
           
        
    }




}

 

 

Youtube에 나온대로 코드를 치게되면 반복클릭시 애니메이션이 다시 처음부터 재생하게되서 애니메이션을 이어붙인 나로서는 최악이였기때문에 IsPickState 함수를 Parameters 로 추가해준다음 클릭할때 true 애니메이션이 끝날때 false 로 입력받게하여 중복입력을 못하게 만들었다.

맵을 조금 꾸미면 어떨가 싶어서 맵을 꾸며봤다.

 

 

 

그러고나서는 카메라 이동을 구현하다 막혀서 내일 다시 해보려고한다. 

 

반응형