using UnityEngine;
using System.Collections;
public class hero : MonoBehaviour
{
private bool isMouseDown = false;
private Vector3 lastMousePosition=Vector3.zero;
void Update () {
PlayerControler();
}
public void PlayerControler()
{
//将像素位置转换成世界坐标轴的位置
//Camera.main.ScreenToWorldPoint(Input.mousePosition);
//检测鼠标是否按下
if (Input.GetMouseButtonDown(0))
{
isMouseDown = true;
print(isMouseDown);
}
if (Input.GetMouseButtonUp(0))
{
isMouseDown = false;
lastMousePosition=Vector3.zero;//将最后一次点击的位置清零
}
if (isMouseDown)
{
if (lastMousePosition!=Vector3.zero)
{
//得到点击位置与飞机停留位置的偏移值
Vector3 offset = Camera.main.ScreenToWorldPoint(Input.mousePosition) - lastMousePosition;
//当前脚本所挂载的物体的位置就等于偏移值+原先停留的位置实现移动
transform.position = offset +transfom.position;
}
//让停留位置等于点击位置
lastMousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
print(lastMousePosition);
CheckPosition();
}
}
//检测物体边界的方法
public void CheckPosition()
{
Vector3 pos=transform.position;
float x = pos.x;
float y = pos.y;
if (x<=-2.8f)
{
x = -2.8f;
}
if (x >= 2.8f)
{
x = 2.8f;
}
if (y <= -5.1f)
{
y = -5.1f;
}
if (y >= 5.1f)
{
y = 5.1f;
}
transform.position=new Vector3(x,y,0);
}
}