当我的pnj正在运行时(按下右键)并尝试跳转pnj跳转。但很少,我怎么能解决这个问题呢?
当我按下右键时,这不是问题,但是我想在没有失败的情况下制作游戏,我想在io跑步时跳跃,谢谢
void Update () {
if (Input.GetKeyDown (KeyCode.Space)) {
if (corriendo) {
if (enSuelo || !dobleSalto) {
GetComponent<Rigidbody2D> ().velocity = new Vector2 (GetComponent<Rigidbody2D> ().velocity.x, 0);
GetComponent<Rigidbody2D>().AddForce(Vector2.up * fuerzaSalto);
if (!dobleSalto && !enSuelo){
dobleSalto=true;
}
}
corriendo = true;
}
}
if ((enSuelo || !dobleSalto) && Input.GetKeyDown (KeyCode.Space)) {
GetComponent<Rigidbody2D> ().velocity = new Vector2 (GetComponent<Rigidbody2D> ().velocity.x, 0);
GetComponent<Rigidbody2D>().AddForce(Vector2.up * fuerzaSalto);
if (!dobleSalto && !enSuelo){
dobleSalto=true;
}
}
if (Input.GetKey (KeyCode.RightArrow) && enSuelo==true) {
if (velocidad > 17) {
velocidad = 17;
}
GetComponent<Rigidbody2D> ().velocity = new Vector2 (GetComponent<Rigidbody2D> ().velocity.x, 0);
GetComponent <Rigidbody2D> ().AddForce (Vector2.right * velocidad);
velocidad++;
} else {
if (velocidad > 1) {
velocidad--;
} else {
velocidad = 0;
}
}
}
答案 0 :(得分:1)
尝试在AddForce中添加额外的变量(Vector2.right * velocidad * jumpFactor)
你可以给incrementFactor一个值,这样你就可以修改跳跃的长度。