0
我试图用最简单的物理学(与重力坠落,左右移动,(也许)跳跃)制作最简单的平台游戏原型。例如:无物理碰撞
void Move() {
if (!isDying || !isDead || !isShooting || !isFalling)
{
float amountToMove = Time.deltaTime * Input.GetAxis("Horizontal") * playerSpeed;
transform.Translate(Vector3.right * amountToMove);
}
}
void ApplyGravity() {
float amountToMove = Time.deltaTime * gravity;
transform.Translate(Vector3.down * amountToMove);
}
问题是我不知道如何使没有物理和启用isKinematic的碰撞。我唯一知道的是使用OnTriggerEnter功能,因此增加了isTrigger的所有对象,写(Hero.cs):
void OnTriggerEnter (Collider otherGameObjectCollider) {
if (otherGameObjectCollider.gameObject.tag == "ground") {
Debug.Log("ground/wall collision");
}
}
我知道我需要停止我的英雄,以防止坠落(步行)通过地面,但我真的不能想出来。
对不起愚蠢的问题。