OP想通了,失蹤了EventSystem
對象Unity 2D - 爲什麼按鈕不起作用?
我通過團結做出了運行遊戲。但是我遇到了一個很大的問題。我做了一個按鈕跳轉並添加onclick事件,但是,它不起作用。我的亞軍不會在地面上跳躍。請幫幫我!
鍵和鍵督察。
亞軍督察。
的OnClick督察。
,這是一個亞軍的C#腳本:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class CsRunner : MonoBehaviour
{
public Vector2 jumpVelocity;
public Text _coin;
int coinCount = 0, heartCount, healthCount = 0, grimReaperCount = 0, coupleCount = 0;
bool isJump;
public Button _jump;
bool collision_box;
// Use this for initialization
void Start()
{
_jump.onClick.AddListener(Jump);
heartCount = 3;
}
// Update is called once per frame
void Update()
{
_coin.text = ""+coinCount;
}
void OnTriggerEnter2D(Collider2D coll)
{
if (coll.transform.tag == "Enemy")
{
if (heartCount > 1)
Destroy(GameObject.Find("heart ("+(heartCount-1)+")"));
else if (heartCount == 1)
Destroy(GameObject.Find("heart"));
heartCount--;
}
if (coll.transform.tag == "HealthBuff")
{
Destroy(coll.gameObject);
healthCount++;
}
if (coll.transform.tag == "GrimReaperBuff")
{
Destroy(coll.gameObject);
grimReaperCount++;
}
if (coll.transform.tag == "CoupleBuff")
{
Destroy(coll.gameObject);
coupleCount++;
}
if (coll.transform.tag == "FieldCoin")
{
Destroy(coll.gameObject);
coinCount++;
}
}
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.transform.tag == "Ground")
{
GetComponent<Animator>().enabled = true;
collision_box = true;
isJump = false;
}
}
void OnCollisionStay2D(Collision2D coll)
{
if (coll.transform.tag == "Ground")
{
GetComponent<Animator>().enabled = true;
collision_box = true;
isJump = false;
}
}
void OnCollisionExit2D(Collision2D coll)
{
if (coll.transform.tag == "Ground")
{
GetComponent<Animator>().enabled = false;
collision_box = false;
isJump = true;
}
}
public void Jump()
{
Debug.Log("JUMP!!");
if (isJump)
{
isJump = false;
transform.GetComponent<Rigidbody2D>().AddForce(jumpVelocity/2, ForceMode2D.Impulse);
}
if (collision_box)
{
isJump = true;
transform.GetComponent<Rigidbody2D>().AddForce(jumpVelocity, ForceMode2D.Impulse);
}
else
{
GetComponent<Animator>().SetTrigger("Run");
}
}
}
謝謝!
「但是,它不工作」 - **什麼**不工作? – Hellium
@Hellium我猜這個函數沒有被觸發。 –
你能告訴我們OnClick部分嗎? –