I am making a game same like river crossing iq game in unity. I have a boat. I need to float the boat from a point (call a start point) to end point. When Boat reached at the end point, Now I need to rotate the boat 180 degree and move to toward the start point and vice versa. I am newly in Unity. Please anyone help me.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Boatmov : MonoBehaviour {
public Rigidbody2D rb;
float speed=1500f;
float mspeed;
public static bool distination=false;
public static bool doublespeed=false;
Vector2 forceapp;
public Transform boatpos1, boatpos2;
// Use this for initialization
void Start () {
mspeed = speed * Time.deltaTime;
}
// Update is called once per frame
void Update () {
}
public void movment()
{
Debug.Log (distination);
if (distination == false) {
if (doublespeed == false) {
Vector2 mov = new Vector2 (boatpos2.position.x, boatpos2.position.y);
rb.AddForce (mov * mspeed);
rb.transform.localScale = new Vector3 (-2f, 1.5f, 0f);
doublespeed = true;
}
} else if(distination==true) {
if (doublespeed == false) {
Vector2 mov = new Vector2 (boatpos1.position.x,boatpos1.position.y);
rb.AddForce (mov * mspeed);
rb.transform.localScale = new Vector3 (2f, 1.5f, 0f);
doublespeed = true;
}
}
}
}
its a similar code over here you can use position inside of transform.position by inserting game object.
@Sanjay