Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraControl : MonoBehaviour {
public Transform target;
public float damping = 1.5f;
public Vector2 offset = new Vector2(2f, 1f);
public bool faceLeft;
private int lastX;
public float smoothSpeed = .3f;
void Start ()
{
offset = new Vector2(Mathf.Abs(offset.x), offset.y);
}
public void FindPlayer(bool playerFaceLeft)
{
lastX = Mathf.RoundToInt(target.position.y);
if(playerFaceLeft)
{
target.position = new Vector2(target.position.x - offset.x, transform.position.z);
}
else
{
target.position = new Vector2(target.position.x + offset.x, transform.position.z);
}
}
void LateUpdate ()
{
if (target.position.y > transform.position.y)
{
Vector3 newPos = new Vector3 (transform.position.x, target.position.y, transform.position.z);
transform.position = Vector3.Lerp (transform.position, newPos, smoothSpeed);
}
}
}
using System.Collections.Generic;
using UnityEngine;
public class CameraControl : MonoBehaviour {
public Transform target;
public float damping = 1.5f;
public Vector2 offset = new Vector2(2f, 1f);
public bool faceLeft;
private int lastX;
public float smoothSpeed = .3f;
void Start ()
{
offset = new Vector2(Mathf.Abs(offset.x), offset.y);
}
public void FindPlayer(bool playerFaceLeft)
{
lastX = Mathf.RoundToInt(target.position.y);
if(playerFaceLeft)
{
target.position = new Vector2(target.position.x - offset.x, transform.position.z);
}
else
{
target.position = new Vector2(target.position.x + offset.x, transform.position.z);
}
}
void LateUpdate ()
{
if (target.position.y > transform.position.y)
{
Vector3 newPos = new Vector3 (transform.position.x, target.position.y, transform.position.z);
transform.position = Vector3.Lerp (transform.position, newPos, smoothSpeed);
}
}
}