Shoot diagonal and up.
I'm a begginer with Unity and c# and i don't know how to make my character shoot diagonaly and up by pressing a buton, it only goes left and right. I'm making a 2D platformer.
this is the bullet script: { using System.Collections; using System.Collections.Generic; using UnityEngine;
public class BulletScript : MonoBehaviour { public Vector2 speed = new Vector2(8,8); private Rigidbody2D rbBullet;
// Use this for initialization
void Start () {
rbBullet = GetComponent<Rigidbody2D>();
rbBullet.velocity = speed*this.transform.localScale.x;
Destroy(gameObject, 2f);
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown("w"))
{
speed = new Vector2(0, 8);
}
}
} And this is the player script: {
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Move : MonoBehaviour { private float speed = 8f; private Vector2 maxSpeed = new Vector2(3, 5); private Rigidbody2D rbPlayer;
private float shootingRate = 0.1f;
private float shootCooldown = 0f;
public Transform spawnTiro;
public GameObject bullet;
void Start()
{
rbPlayer = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
if (shootCooldown > 0)
{
shootCooldown -= Time.deltaTime;
}
var forceX = 0f;
var forceY = 0f;
var absVelX = Mathf.Abs(rbPlayer.velocity.x);
if (Input.GetKey("d"))
{
if (absVelX < maxSpeed.x)
{
transform.Translate(Vector2.right * 8f * Time.deltaTime);
this.transform.localScale = new Vector3(7, 7, 1);
}
}
else if (Input.GetKey("a"))
{
if (absVelX < maxSpeed.y)
{
transform.Translate(Vector2.right * -8f * Time.deltaTime);
this.transform.localScale = new Vector3(-7, 7, 1);
}
}
if (Input.GetKey("p"))
{
Fire();
shootCooldown = shootingRate;
}
}
void Fire()
{
if (shootCooldown <= 0f)
{
if (bullet != null)
{
var cloneBullet = Instantiate(bullet, spawnTiro.position, Quaternion.identity) as GameObject;
cloneBullet.transform.localScale = this.transform.localScale;
}
}
}
}
Thanks for any help.
Your answer
Follow this Question
Related Questions
How To change a Text Object's Color Randomly using Color 32? 2 Answers
How to add information to an instantiated object 0 Answers
Please Help With Script 1 Answer
Issue with if-statements requiring two conditions. 1 Answer
Continuing a Dialogue 0 Answers