因此,我有一個(gè)玩家與敵人碰撞時(shí)將開始“傷害”動(dòng)畫的玩家。2秒后,他將重新生成自己的起始位置,但“傷害”動(dòng)畫不會(huì)停止。即使玩家在四處移動(dòng),它也可以繼續(xù)播放。這是我的整個(gè)播放器腳本:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class Player : MonoBehaviour{ public float speed = 3.0f; public Vector2 jumpHeight; [HideInInspector] public bool facingRight = true; private float minX = -10.5f; private float maxX = 10.5f; public int count; public Text countText; private Animator anim; public GameObject NECText; public GameObject WinText; public GameObject player; void Start() { anim = GetComponent<Animator>(); transform.position = new Vector3(-10.0f, -2.32f, 0); count = 0; countText.text = "Coins: " + count.ToString(); NECText.gameObject.SetActive(false); WinText.gameObject.SetActive(false); } void Update() { Movement(); Death(); float horizontalInput = Input.GetAxis("Horizontal"); if(horizontalInput > 0 && !facingRight) { Flip(); } else if(horizontalInput < 0 && facingRight) { Flip(); } } void Movement() { float horizontalInput = Input.GetAxis("Horizontal"); transform.Translate(Vector3.right * horizontalInput * speed * Time.deltaTime); if(Input.GetKeyDown(KeyCode.Space)) //fix unlimited jump { GetComponent<Rigidbody2D>().AddForce(jumpHeight, ForceMode2D.Impulse); } if(transform.position.x < minX) { transform.position = new Vector3 (minX, transform.position.y, 0); } else if(transform.position.x > maxX) { transform.position = new Vector3(maxX, transform.position.y, 0); } } void Death() { if (transform.position.y <= -4.25f) { anim.SetBool("isHurt", true); Invoke("Respawn", 2f); } }我知道這可能很混亂,但這是我的第一本沒有教程的游戲,所以很難。
- 1 回答
- 0 關(guān)注
- 279 瀏覽
添加回答
舉報(bào)
0/150
提交
取消