How to get an object to turn around/flip at a certain point

I’m making a 2D side scroller game and I have this one bit where you have to jump across this lake on lily pads and there are sharks in the water. All you can see is their fins, I have got them moving back and forth but it looks like their swimming backwards, so how to I get the object to flip around? I haven’t got any script for this, but here is my script for moving the object and the script for my player to flip just in case there’s something I could change in them to make this work: (both JavaScript) ObjectMover: #pragma strict

private var Xpos : float; private var Ypos : float; private var max : boolean;

var Vert : boolean; var maxAmount : int; var step : float;

function Start () { Xpos = transform.position.x; Ypos = transform.position.y; }

function Update () { //SET THE MAX if(Vert){ //Vertical if(transform.position.y >= Ypos + maxAmount){ max = true; }else if(transform.position.y <= Ypos){ max = false; } } else { //Horizontal if(transform.position.x >= Xpos + maxAmount){ max = true; }else if(transform.position.x <= Xpos){ max = false; } }

//MOVING THE PLATFORM
if(Vert){ //Vertical movement
if(!max){
transform.position.y += step;
}else {
transform.position.y -= step;
}
} else { //Horizontal movement
if(!max){
transform.position.x += step;
}else {
transform.position.x -= step;
}
}
}

TextureFlip (this is what I used for my player): #pragma strict

var X : float;

function Start () { //Gathering normal object scale X = transform.localScale.x; }

function Update () { if(Input.GetKey(“a”)){ //Gamer pushes left arrow key //Set texture to normal position. transform.localScale.x = -X; }else if(Input.GetKey(“d”)){ //Push right arrow //Flip the texture transform.localScale.x = X; } }

So basically I want the texture of the shark fin to flip when its going backwards so that it doesn’t look like its swimming backwards. I have a texture flip script but that’s for my player, i wont be controlling the shark.
Thanks in advance

What you need to do is have a code that follows them, and when they get to where they turn around it flips the y rotation, something like this.

#pragma strict

if (position.x >= 49){
     transform.rotation.y = -180;
}
//On the way back, switch the 49s for what ever distance you want!

if (position.x <= -49){
     transform.rotation.y = 180;
}

Really you need two images, in gimp (or any image editor) take your image and flip it then save to a new file. You’ll end up with a FinLeft and FinRight image.

Then you just need to tell it to use the left image when moving left and the right image when moving right.

If you actually want to see the fin spin round and not just flip from one direction to the other you’ll need a set of intermediate images.

Far easier to do this outside unity in an image editor then just call the image you want in your script.

I see you have both vertical and horizontal in your script the same will work for left right up down but in your image editor rotate 90 degrees and -90 degrees from your original image to get the up down images.