- Home /
Question by
Niks4Linux · May 14, 2015 at 10:13 AM ·
c#movementgameobjectunity 4.6
Want to move 2d fish sprites in pond !
I am trying to move some 2d fish sprites in a pond.But they are not moving properly.I have attached same script to all fish objects.Can anybody tell me whats wrong with my code. Here is my code -
bool moveFish = true;
bool insideBounds = false;
public float speed =.5f;
float minY = -1.1f;
float maxY = 1f;
float minX = -2.1f;
float maxX = 2f;
void Start () {
Invoke("ChangeDirection",1);
}
void Update () {
if(!IsInsideTheBounds()){
if(insideBounds){
insideBounds = false;
transform.Rotate(new Vector3(0,0,-150));
Invoke("MakeReady",10f);
return;
}
}
if(moveFish)
transform.Translate(-Vector3.up * Time.deltaTime * speed);
}
void ChangeDirection(){
if(IsInsideTheBounds())
{
Debug.Log("IsInsideTheBounds true");
insideBounds = true;
transform.Rotate(new Vector3(0,0,Random.Range(-20,50)));
}
Invoke("ChangeDirection",10f);
}
bool IsInsideTheBounds(){
bool overlap = false;
if(transform.position.x > minX &&
transform.position.x < maxX &&
transform.position.y > minY &&
transform.position.y < maxY ){
overlap = true;
}
return overlap;
}
void MakeReady(){
insideBounds = true;
}
Comment