【问题标题】:Unity box to Mouse issue统一框到鼠标问题
【发布时间】:2014-12-03 09:14:47
【问题描述】:

我的代码有问题,我正在尝试将 3D 框移动到鼠标位置的变量中,我需要知道如何使用鼠标位置脚本更改框的 x、y、z . 我真正要问的是,如何用另一个脚本中的变量更改我的框 x、y、z。谢谢!

代码:

#pragma strict

public var distance : float = 4.5;
var box = Transform;
private var firstObject : cube;

function Start () {
}

function Update () {
       CastRayToWorld();
}

function CastRayToWorld() {
       var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);    
       var point : Vector3 = ray.origin + (ray.direction * distance);    
       Debug.Log( "World point " + point );
       firstObject = GameObject.Find("pos").GetComponent("cube").pos = point;
       firstObject.pos = point;
}

【问题讨论】:

  • 场景中变换的 xyz 是 position 属性,所以 box.position = <...some var of type vector3...> 将改变它的 xyz 位置,我认为在您的示例中将是 point,但这有点令人困惑你想用firstobject做什么,不知道cube脚本在做什么。

标签: unity3d unityscript


【解决方案1】:

确保其他对象知道您的盒子游戏对象(假设名称为“可调整”),然后它只是以下情况:

adjustable.transform.position = new Vector3(x, y, z)

为了确保对象知道游戏对象的盒子,您可以将可调整的公共变量设置为公共变量,然后手动将盒子从场景中拖到将在相关对象的组件中创建的字段中。

【讨论】:

  • 我如何“确保其他对象知道你的盒子游戏对象”
  • 对不起,我最初的回答不是很清楚。我已经编辑了答案以提供更多说明,但就您的知识而言,我可能仍然假设太多。让我知道是否是这种情况,我将尝试进一步澄清。
猜你喜欢
  • 1970-01-01
  • 2016-08-18
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 1970-01-01
相关资源
最近更新 更多