using UnityEngine;
using System.Collections;
public class GetPosition : MonoBehaviour
{
Vector3 dragStartPosition;
float dragStartDistance;
float[] Xfloat;
void OnMouseDown()
{
dragStartPosition = transform.position;
dragStartDistance = (Camera.main.transform.position - transform.position).magnitude;
}
void Update()
{
}
void OnMouseDrag()
{
Vector3 worldDragTo = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, dragStartDistance));
transform.position = new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);
new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);
float Newpos = ;
}
void OnMouseUp()
{
}
}
我有这个代码统一,我想将我的新Vector3(只有位置x)转换为浮点数,我该怎么做?
答案 0 :(得分:3)
这很简单:
float Newpos = worldDragTo.x;
因为Vector3的组件已经浮动。
如果它们是另一个浮点类型,你需要进行转换,因为你的转换失去了精度,因此没有隐式转换从double或decimal to float。
虽然你正在创建一个矢量而没有将它分配给一个变量,所以你就把它扔掉了。
new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);