[英]How to enable / disable player movement in unity?
所以,我正在制作一个游戏,其中一个玩家通过按下 shift 来改变对两个角色的控制,所以,当按下 shift 时,玩家 1 的移动被禁用并且玩家 2 脚本被启用,我通过移动来接近这个速度和跳跃达到数字为零,但是当按下 shift 时,什么也没有发生,我该怎么做才能解决这个问题?
顺便说一句,我将 Fire2 设置为“shift”以澄清,并且还关注“CanPlay”变量,因为这是我认为问题所在。
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class movimento : MonoBehaviour
{
public bool CanPlay;
void Update()
{
float h = Input.GetAxisRaw("Horizontal");
float speedY = PlayerRB.velocity.y;
PlayerRB.velocity = new Vector2(h * speed, speedY);
if (Input.GetButtonDown("Jump") && Isgrounded == true)
{
PlayerRB.AddForce(new Vector2(0, jumpforce));
}
if (h > 0 && IsLookLeft == true)
{
Flip();
}
else if (h < 0 && IsLookLeft == false)
{
Flip();
}
if (CanPlay = false)
{
speed = 0f;
jumpforce = 0f;
}
if (CanPlay = true)
{
speed = 10f;
jumpforce = 150f;
}
if (Input.GetKeyDown("Fire2"))
{
CanPlay = !CanPlay;
}
}
}
你的 if 有错误。 它应该是:
if (CanPlay == false)
{
speed = 0f;
jumpforce = 0f;
}
if (CanPlay == true)
{
speed = 10f;
jumpforce = 150f;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.