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位置)转换成一个浮点数,我该怎么做呢?
发布于 2016-05-30 20:50:19
它就像这样简单:
float Newpos = worldDragTo.x;因为Vector3的组件已经是浮点数了。
如果它们是另一种浮点类型,则需要强制转换,因为在转换过程中会丢失精度,因此不存在从双精度或小数向下到浮点的隐式强制转换。
虽然你是在创建一个向量,而没有将它赋值给一个变量,所以你是在丢弃它。
new Vector3(worldDragTo.x, dragStartPosition.y, dragStartPosition.z);https://stackoverflow.com/questions/37526069
复制相似问题