Hello there,
In my game when the user presses the d key in quick succession I want the speed of the player to increase and it to change animation.
However I get this error: Assets/Scripts/PlayerController.cs(29,26): error CS0019: Operator &&' cannot be applied to operands of type
float’ and `bool’
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float maxSpeed = 0.5f;
public float sprintSpeed = 2f;
bool facingRight = true;
Animator anim;
Rigidbody2D rb;
bool buttonPressed = false;
float buttonDelay = 0.5f;
void Start()
{
anim = GetComponent<Animator>();
rb = GetComponent<Rigidbody2D> ();
}
void FixedUpdate()
{
float move = Input.GetAxisRaw ("Horizontal"); //how much we are moving
anim.SetFloat ("Speed", Mathf.Abs (move));
rb.velocity = new Vector2 (move * maxSpeed, GetComponent<Rigidbody2D>().velocity.y);
buttonPressed = true;
if(Input.GetAxisRaw ("Horizontal") && buttonPressed = true)
{
anim.SetBool("isRunning",true);
rb.velocity = new Vector2 (move * sprintSpeed, GetComponent<Rigidbody2D>().velocity.y);
}
if (move > 0 && !facingRight) //if moving left and not facing left
Flip (); //flip
else if (move < 0 && facingRight) //if moving to the right and not facing right
Flip (); //flip
}
void Flip()
{
facingRight = ! facingRight; // flips the character
Vector3 theScale = transform.localScale; //flips the local scale
theScale.x *= -1; //flip the x axis
transform.localScale = theScale; //apply all of this back to the local scale
}
}