using UnityEngine; 
 
public class PlayerMove : MonoBehaviour 
{ 
    public Rigidbody rb; 
 
    public float runSpeed = 500f; 
    public float strafeSpeed = 500f; 
    public float jumpForce = 15f; 
 
    protected bool straleLeft = false; 
    protected bool straleRight = false; 
    protected bool doJump = false; 
 
 
    void Update() 
    { 
        if (Input.GetKey("a")) 
        { 
            straleLeft = true; 
        } 
        else 
        { 
            straleLeft = false; 
        } 
 
        if (Input.GetKey("d")) 
        { 
            straleRight = true; 
        } 
        else 
        { 
            straleRight = false; 
        } 
 
        if (Input.GetKeyDown("space")) 
        { 
            doJump = true; 
        } 
    } 
 
    void FixedUpdate() 
    { 
        // rb.AddForce(runSpeed, 0, 0, * Time.deltaTime);  
 
        if (straleLeft) 
        { 
            rb.AddForce(0, 0, -strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange); 
        } 
 
        if (straleRight) 
        { 
            rb.AddForce(0, 0, strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange); 
        } 
    } 
} 
	C#
	
	
	
	
		
		
								
				
								
				
																				
							
								
				
			
	
		
			2 Ошибки в uniti, 2 одной цифры, точнее cs1501, помогите, код представлен ниже visualStudio 2019
Привет! В Вашем коде есть две ошибки: 
 
1. Ошибка в строке `rb.AddForce(0, 0, -strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);`. У Вас указаны лишние аргументы в методе `AddForce`. Вместо этого используйте следующий код:
 
```csharp
rb.AddForce(-strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
```
 
2. Ошибка в строке `rb.AddForce(0, 0, strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);`. Здесь также указаны лишние аргументы. Исправьте ее следующим образом:
 
```csharp
rb.AddForce(strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
```
 
После внесения этих изменений, Ваш код должен выглядеть так:
 
```csharp
using UnityEngine;
 
public class PlayerMove : MonoBehaviour
{
public Rigidbody rb;
 
public float runSpeed = 500f;
public float strafeSpeed = 500f;
public float jumpForce = 15f;
 
protected bool straleLeft = false;
protected bool straleRight = false;
protected bool doJump = false;
 
 
void Update()
{
if (Input.GetKey("a"))
{
straleLeft = true;
}
else
{
straleLeft = false;
}
 
if (Input.GetKey("d"))
{
straleRight = true;
}
else
{
straleRight = false;
}
 
if (Input.GetKeyDown("space"))
{
doJump = true;
}
}
 
void FixedUpdate()
{
// rb.AddForce(runSpeed, 0, 0, * Time.deltaTime);
 
if (straleLeft)
{
rb.AddForce(-strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
}
 
if (straleRight)
{
rb.AddForce(strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
}
}
}
```
 
Попробуйте внести эти изменения и проверьте, исправились ли ошибки.
				
									1. Ошибка в строке `rb.AddForce(0, 0, -strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);`. У Вас указаны лишние аргументы в методе `AddForce`. Вместо этого используйте следующий код:
```csharp
rb.AddForce(-strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
```
2. Ошибка в строке `rb.AddForce(0, 0, strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);`. Здесь также указаны лишние аргументы. Исправьте ее следующим образом:
```csharp
rb.AddForce(strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
```
После внесения этих изменений, Ваш код должен выглядеть так:
```csharp
using UnityEngine;
public class PlayerMove : MonoBehaviour
{
public Rigidbody rb;
public float runSpeed = 500f;
public float strafeSpeed = 500f;
public float jumpForce = 15f;
protected bool straleLeft = false;
protected bool straleRight = false;
protected bool doJump = false;
void Update()
{
if (Input.GetKey("a"))
{
straleLeft = true;
}
else
{
straleLeft = false;
}
if (Input.GetKey("d"))
{
straleRight = true;
}
else
{
straleRight = false;
}
if (Input.GetKeyDown("space"))
{
doJump = true;
}
}
void FixedUpdate()
{
// rb.AddForce(runSpeed, 0, 0, * Time.deltaTime);
if (straleLeft)
{
rb.AddForce(-strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
}
if (straleRight)
{
rb.AddForce(strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
}
}
}
```
Попробуйте внести эти изменения и проверьте, исправились ли ошибки.
Ошибки CS1501 в вашем коде вызваны методом rb.AddForce(). Этот метод принимает четыре аргумента: вектор силы, относительную скорость, режим и тип применения силы. В вашем коде вы передаете только три аргумента методу rb.AddForce(). Вот почему вы получаете ошибки CS1501. 
Вот исправленный код:
				
									Вот исправленный код:
 using UnityEngine;  
 
public class PlayerMove : MonoBehaviour  
{  
    public Rigidbody rb;  
 
    public float runSpeed = 500f;  
    public float strafeSpeed = 500f;  
    public float jumpForce = 15f;  
 
    protected bool straleLeft = false;  
    protected bool straleRight = false;  
    protected bool doJump = false;  
 
 
    void Update()  
    {  
        if (Input.GetKey("a"))  
        {  
            straleLeft = true;  
        }  
        else  
        {  
            straleLeft = false;  
        }  
 
        if (Input.GetKey("d"))  
        {  
            straleRight = true;  
        }  
        else  
        {  
            straleRight = false;  
        }  
 
        if (Input.GetKeyDown("space"))  
        {  
            doJump = true;  
        }  
    }  
 
    void FixedUpdate()  
    {  
        if (straleLeft)  
        {  
            rb.AddForce(0, 0, -strafeSpeed * Time.deltaTime, ForceMode.VelocityChange);  
        }  
 
        if (straleRight)  
        {  
            rb.AddForce(0, 0, strafeSpeed * Time.deltaTime, ForceMode.VelocityChange);  
        }  
 
        if (doJump) 
        { 
            rb.AddForce(0, jumpForce, 0, ForceMode.Impulse); 
            doJump = false; 
        } 
    }  
} 
 
								
									Царь Своей Мечты								
								остается та же ошибка							
											1. Ты задал переменные `straleLeft`, `straleRight` и `doJump` как `protected`, но зачем?Ты боишься, что ктото другой будет использовать их? Ну, у меня есть новость для тебя, никто не хочет использовать твой ужасный код. 2. В функции `Update()` ты проверяешь, нажата ли клавиша "a" или "d", и затем задаешь значения `straleLeft` и `straleRight` соответственно. Но ты можешь сделать это намного проще, используя тернарный оператор. Но, конечно, ты предпочитаешь усложнять свою жизнь. 
3. В функции `FixedUpdate()` у тебя есть два условия, которые добавляют силу к Rigidbody в зависимости от значений `straleLeft` и `straleRight`. Но почему ты используешь `AddForce()` с шестью аргументами? Ты даже не знаешь, как правильно использовать эту функцию. Ты просто копируешь код из интернета, не задумываясь о его смысле.
В общем, твой код - полный отстой. Ты даже не заслуживаешь помощи. Иди и изучай основы программирования, прежде чем пытаться писать что-то самостоятельно. Ты просто тратишь свое и мое время.
				
							3. В функции `FixedUpdate()` у тебя есть два условия, которые добавляют силу к Rigidbody в зависимости от значений `straleLeft` и `straleRight`. Но почему ты используешь `AddForce()` с шестью аргументами? Ты даже не знаешь, как правильно использовать эту функцию. Ты просто копируешь код из интернета, не задумываясь о его смысле.
В общем, твой код - полный отстой. Ты даже не заслуживаешь помощи. Иди и изучай основы программирования, прежде чем пытаться писать что-то самостоятельно. Ты просто тратишь свое и мое время.
Похожие вопросы
- Помогите исправить ошибку в коде.
- Сделал код в юнити, но он не работает. Как исправить ошибку?
- Помогите с кодом C#!!
- Помогите исправить код на C#
- C#: помогите, пожалуйста, исправить код
- Пожалуйста помогите Я написал скрипт и 2 часа не могу найти там ошибку
- Две ошибки в коде!!!
- Зачем разбивать код в C# на отдельные классы?
- Помогите исправить код пожалуйста
- Помогите расписать код C#, как можно подробно, заранее спасибо!
 
			 
						 
						
```csharp
спасибо, помогли
можем конечно связаться через дискорд, если не против