okay, so I have compiled a script to make a character dash, both midair and on ground, but the character can only dash forward. I would like for the character to be able to dash both forward and backward.
Forward if I simply press the dash button (which I’ve assigned to the x key)
Backward if I press dash while holding down the left arrow key.
This is part of what I came up with (only the pertinent stuff though)
var speed = 6;
var jumpSpeed = 8;
var jumpCount = 0;
var maxJump = 2;
var dashSpeed = 100.0;
var dashCount = 0;
var maxDash = 1;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
function update () {
//allow free range horizontal movement while in air
if (!grounded) {
moveDirection.x = Input.GetAxis(“Horizontal”)*speed;
//air dash one time only
if (dashCount < maxDash) {
if (Input.GetKey (KeyCode.X)) {
moveDirection.x = dashSpeed;
dashCount++;}
}
}
else {moveDirection = Vector3(Input.GetAxis(“Horizontal”)*speed, 0.0, Input.GetAxis(“Vertical”)*speed);
//reset jump because we are grounded
jumpCount = 0;
//ground dash once
if (dashCount < maxDash) {
if (Input.GetKeyDown (KeyCode.X)) {
moveDirection.x = dashSpeed;
dashCount++;}
//reset dash upon key release
else if (Input.GetKeyUp (KeyCode.X))
{dashCount = 0;}}
//reset dash when used midair (otherwise you would need to press and release
X again; if you simply reset dash when on ground you end up dashing forever
until you fall off platform
else {dashCount = 0;}
}
okay so that’s what I have, the character only wants to dash forward because dashSpeed is a positive integer, and the arrow keys don’t reflect positive or negative values. I’m not sure what I need to do to tweak it, but if there is some sort of scripting knowledge I’m unaware of I would love to hear lol. Thank you!