- Home /
Making a object move to mouse point?
Rightio then,
The game is a top down view game. the player moves towards the mouse cursor and reverses away using S & W keys. If you click it will shoot your arrow or one of the four spells that you cycled through and chosen.
So... Now i want the player to be able to roll over an sprite and it will change to a different sprite to show that that is the person you want to attack. Now, what i'm not sure of what to do for this. I think i will create a bool on the chosen person which returns true if imaged is rolled over.
using UnityEngine;
using System.Collections;
public class VillagerOver : MonoBehaviour {
public SpriteRenderer SR;
public Sprite Sel;
public Sprite Nor;
public bool NPC1Selected;
// Use this for initialization
void OnMouseEnter()
{
SR.GetComponent<SpriteRenderer>();
SR.sprite = Sel;
NPC1Selected = true;
}
void OnMouseExit()
{
SR.GetComponent<SpriteRenderer>();
SR.sprite = Nor;
NPC1Selected = false;
}
}
right then in my player shooting script i have: void Fire() { if (ArrowS == true) { Rigidbody2D bPrefab = Instantiate(ArrowPrefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), transform.rotation) as Rigidbody2D; //WHAT I WANT IS TO REFERNCE WHAT NPC IS PICKED AND IF THEM FIRE TO THAT POSITION BUT SURELY THAT WOULD BE FAR TO LONG FOR EVERY NPC IN THE GAME THAT YOU CAN KILL? bPrefab.GetComponent().AddForce(transform.up * ArrowSpeed);
coolDown = Time.time + attackSpeed;
ElaraBolts -= 1;
ElaraBoltDown = true;
}
if (FireS == true)
{
if (ElaraMana > 9)
{
Rigidbody2D bPrefab = Instantiate(FirePrefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), transform.rotation) as Rigidbody2D;
bPrefab.GetComponent<Rigidbody2D>().AddForce(transform.up * ArrowSpeed);
coolDown = Time.time + attackSpeed;
ElaraMana -= 10;
}
}
if (IceS == true)
{
if (ElaraMana > 6)
{
Rigidbody2D bPrefab = Instantiate(IcePrefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), transform.rotation) as Rigidbody2D;
bPrefab.GetComponent<Rigidbody2D>().AddForce(transform.up * ArrowSpeed);
coolDown = Time.time + attackSpeed;
ElaraMana -= 7;
}
}
if (WindS == true)
{
if (ElaraMana > 4)
{
Rigidbody2D bPrefab = Instantiate(WindPrefab, new Vector3(transform.position.x, transform.position.y, transform.position.z), transform.rotation) as Rigidbody2D;
bPrefab.GetComponent<Rigidbody2D>().AddForce(transform.up * ArrowSpeed);
coolDown = Time.time + attackSpeed;
ElaraMana -= 5;
}
}
Now im not 100% what to do it'll be somewhere in the fire function i think but im not sure 100%. I want this so your player can just just fire at villager if you choose not if you accidntly click and it kills a villager as then your in trouble haha
Thank_You() { Adam; }
Your answer
Follow this Question
Related Questions
Can't shoot towards mouse click point 0 Answers
Display sprite where clicked on screen. 1 Answer
2D Isometric Game Setup 0 Answers
Fire missile to mouse click 1 Answer
SideScrolling Mouse Pointer Aim - Help 0 Answers