Question by
KotaWayne · Sep 27, 2016 at 12:42 AM ·
rotationrigidbody2dvelocity
How do I make a 2D spaceship rotate to my mouse?
Hi I've been making a new game and I cant figure out how to give the player's ship gravity to slow down when coming to a stop. I also need help making it rotate to where the mouse is when i hold down the "W" Key. If anyone cant help I would be very happy to hear how to finished my character script :)
public int MaxHealth;
public float CurrentHealth;
public Scrollbar HealthBar;
public float MaxBoost;
public float CurrentBoost;
public Scrollbar BoostBar;
public Sprite WeaponT1Image;
public Sprite WeaponT2Image;
public Sprite WeaponT3Image;
public string[] WeaponTypeSelected = {"WeaponType1", "WeaponType2", "WeaponType3"};
public int WeaponTypeNum;
public Image WeaponImage;
public KeyCode SwitchWeaponUp;
public KeyCode SwitchWeaponDown;
public float Speed;
public float FireSpeed;
public Vector3 targetPosition;
public bool Moving;
private Rigidbody2D Rb2D;
void Start () {
Rb2D = GetComponent<Rigidbody2D> ();
}
void Update () {
BoostBar.size = CurrentBoost / MaxBoost;
HealthBar.size = CurrentHealth / MaxHealth;
//Player Movement
targetPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if(Input.GetKeyDown(KeyCode.W)){
Moving = true;
} else if (Input.GetKeyUp(KeyCode.W)) {
Moving = false;
}
if (Moving == true) {
transform.position = Vector3.MoveTowards (transform.position, targetPosition, Time.deltaTime * Speed);
}
//Switch Weapons
if (Input.GetKeyDown (SwitchWeaponUp) && WeaponTypeNum != WeaponTypeSelected.Length) {
if (WeaponTypeNum != WeaponTypeSelected.Length) {
WeaponTypeNum += 1;
WeaponImageSprite ();
}
} else if (Input.GetKeyDown (SwitchWeaponDown)) {
if (WeaponTypeNum != 1) {
WeaponTypeNum -= 1;
WeaponImageSprite ();
}
}
}
void WeaponImageSprite () {
if (WeaponTypeNum == 1) {
WeaponImage.sprite = WeaponT1Image;
WeaponImage.rectTransform.sizeDelta = new Vector2 (10, 35);
} else if (WeaponTypeNum == 2) {
WeaponImage.sprite = WeaponT2Image;
WeaponImage.rectTransform.sizeDelta = new Vector2 (30, 35);
} else if (WeaponTypeNum == 3) {
WeaponImage.sprite = WeaponT3Image;
WeaponImage.rectTransform.sizeDelta = new Vector2(40, 35);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Inconsistent Velocity? 0 Answers
Rotate Rigidbody2D by Touch 1 Answer
Why is a gameobject moves at start? 0 Answers
Rotating, moving and keep on going with constant velocity in direction of click 1 Answer
Z axis not tracking 0 Answers