지구력 기능 추가

4610 단어 sliderscriptUnity

지구력 기능에 대한 추가


이번에는 슬라이더의 체력 기능을 추가로 사용하려고 한다.

1. 미리 준비


먼저 왼쪽 위에 있는 GameObject→UI→Slider에서 스태미나를 표시하는 Slider를 생성하고 구성합니다.

아마 그럴 겁니다.
그런 다음 Fill을 선택하여 원하는 대로 지구력 색상을 변경합니다.(노란색 또는 녹색 권장)

그리고 핸들을 선택해 취향에 따라 체력의 다이얼 등 부분의 색깔을 변경한다.(흰색 권장(변경 없음)

이렇게 되면 당분간 완성할 수 있다.

2. 체력을 적는 스크립트


여기서부터 Script를 쓰기 시작합니다.
먼저 Project의 Create에서 C#Script를 제작하여 적합한 이름을 지읍시다.(예: sutaminaBar, SutaminaScript)
다음은 제작된 Script에 기록됩니다.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class sutaminaBar : MonoBehaviour {
    public float speed = 5.0f;
    public Slider slider;
    Animator animator;
    UIScript uiscript;

    // Use this for initialization
    void Start () {
        slider = GameObject.Find("Slider").GetComponent<Slider>();
        animator = GetComponent <Animator> ();
        uiscript = GameObject.Find ("Canvas").GetComponent<UIScript> ();
    }

    // Update is called once per frame
    void Update () {
        if (Input.GetKey (KeyCode.Space)) {
            PlayerScript.sutamina = PlayerScript.sutamina + (Time.deltaTime / 2);
        }
        //スタミナが0以上の時
        if (PlayerScript.sutamina > 0) {
            //スタミナが徐々に減る
            PlayerScript.sutamina = PlayerScript.sutamina - (Time.deltaTime / 15);
        }
        if (PlayerScript.sutamina < 0) {
            speed = 0;
            animator.SetBool ("DEAD", true);
            uiscript.Gameover ();
            Debug.Log ("taoreta");
        }
        if (PlayerScript.sutamina > 1) {
            PlayerScript.sutamina = 1;
        }
        Debug.Log (PlayerScript.sutamina);

        //スタミナとvalueをつなげる
        //スタミナをスライダーに反映させる処理
        slider.value = PlayerScript.sutamina;
    }
}
1.
using UnityEngine.UI;
 
UI 사용 가능
2.
public float speed = 5.0f;
  public Slider slider;
  Animator animator;
  UIScript uiscript;
그리고 다음에 사용할 것을 선포합니다.
3.
slider = GameObject.Find("Slider").GetComponent<Slider>();
animator = GetComponent <Animator> ();
uiscript = GameObject.Find ("Canvas").GetComponent<UIScript> ();
에서 GameObject 대입 변수를 찾아 Component 추가
4.
if (Input.GetKey (KeyCode.Space)) {
   PlayerScript.sutamina = PlayerScript.sutamina + (Time.deltaTime / 2);
}
지정된 키보드(이번에는 스페이스 바)를 눌러 스태미나를 회복합니다(시간 제한2)
5.
if (PlayerScript.sutamina > 0) {
   PlayerScript.sutamina = PlayerScript.sutamina - (Time.deltaTime / 15);
  }
중, 지구력이 0 이상일 때 지구력(시간 제외 15)을 감소시킨다
6.
if (PlayerScript.sutamina < 0) {
   speed = 0;
   animator.SetBool ("DEAD", true);
   uiscript.Gameover ();
}
체력 0 이하 시 각종 처리
7.
if (PlayerScript.sutamina > 1) {
   PlayerScript.sutamina = 1;
}
체력이 1 이상일 때 체력처리를 1회 한다(이게 없으면 체력이 1 이상으로 슬라이더에 표시되지 않는다)
8.
slider.value = PlayerScript.sutamina;
슬레이더에 체력을 반영했어요.
● 때때로 Script에 Debug를 넣는다.Log(~)는 확인을 위해 넣기 때문에 스크립트에 직접적인 영향을 주지 않습니다.(Constore에서 Debug.Log에 입력한 내용을 수시로 확인하고 동작을 확인할 수 있어 매우 편리하다.)

3. 마지막


스크립트가 있으면 슬라이더에 스크립트를 추가하십시오.

이렇게 하면 완성된다.수고하셨습니다.

4. 진일보


이 정도면 기본적인 지구력 기능은 완성됐지만, 다시 편곡하고 싶은 사람에게 자신이 했던 생각한 편성을 소개하고 싶습니다.
・ 체력 회복 아이템 만들기
→ 프롬프트: 새 프로젝트를 작성할 때 사용할 스크립트를 작성합니다(첨부).・・・
if (hit.CompareTag ("player")) {
   PlayerScript.sutamina = PlayerScript.sutamina + 1;
   Destroy (gameObject);
}
...
・점프 시 일정량의 체력을 소모
→팁: Player를 시작한 Script에서 점프할 때 누른 키를 확인하고, 지구력을 관리하는 Script에서 방금 확인한 키를 눌렀을 때 일정량을 소비하면 된다・・・
if (Input.ジャンプするキーを打ち込む) {
   PlayerScript.sutamina = PlayerScript.sutamina - 0.3f;
...

좋은 웹페이지 즐겨찾기