public static void MoveObject(Transform transform, Vector2 deltaPosition, Camera camera = null)
{
if (transform != null)
{
if (deltaPosition.x != 0.0f || deltaPosition.y != 0.0f)
{
var rectTransform = transform as RectTransform;
// If this is RectTransform then modify the anchoredPosition
if (rectTransform != null)
{
rectTransform.anchoredPosition += deltaPosition;
}
// If this is Transform then modify the position
else
{
transform.position = MoveObject(transform.position, deltaPosition, camera);
}
}
}
}
public static Vector3 MoveObject(Vector3 worldPosition, Vector2 deltaPosition, Camera camera = null)
{
if (camera == null) camera = Camera.main;
if (camera != null)
{
// Find current screen position of world position
var screenPosition = camera.WorldToScreenPoint(worldPosition);
// Modify screen position
screenPosition += (Vector3)deltaPosition;
// Write new world position
worldPosition = camera.ScreenToWorldPoint(screenPosition);
}
return worldPosition;
}
答案 0 :(得分:0)
请勿使用==
或!=
来比较floats
,因为0.0003F
与0.0002F
不同。请改用Mathf.Approximately()
。
假设y=0
是你的基础水平:
if (!Mathf.Approximately(newPosition.y, 0.0F))
{
return; //don't move the object.
}
答案 1 :(得分:0)
var len = 0;
if($("#animalList").val()!=null){
len = $("#animalList").val().length;
}
或==
。就像在你的例子中使用这个
!=
因为浮游物完全相同时非常罕见......