【发布时间】:2017-09-18 02:14:39
【问题描述】:
我的角色有问题,根本不会跳跃。我是 Unity 新手,但我确保将脚本应用于播放器并调整速度,我没有接触 Rigidbody 2D。如果有人可以帮助我解决我们的问题,将不胜感激。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour {
public float moveSpeed;
public float jumpSpeed;
public bool grounded = false;
private Rigidbody2D rb;
void Start() {
rb = GetComponent<Rigidbody2D>();
}
void Update () {
transform.Translate (Input.GetAxisRaw ("Horizontal") * moveSpeed * Time.deltaTime, 0, 0);
if (grounded)
{
if (Input.GetButtonDown ("Jump"))
{
rb.AddForce (Vector2.up * jumpSpeed);
grounded = false;
}
}
}
void OnCollisionEnter2D (Collision2D coll){
if (coll.transform.tag == "Ground")
{
grounded = true;
}
}
}
Player GameObject 的 Inspector 窗口
Ground GameObject 的 Inspector 窗口
【问题讨论】:
标签: c# unity2d rigid-bodies