我有一个带有 1 个移动对象的场景和一个带有按钮的画布,play
当我运行场景时,对象会移动,因为它有一个特定的脚本,分配了速度等等......但是按钮play
在中心。
我想要的是让一切都静止,当我按下按钮时,它所对应的按钮就会消失button.setActive(false)
,并且对象会移动。
我正在尝试访问它们scripts
以执行此操作,但它不允许我引用它们,并且我不想开始放置它们static
或不放置它们,static
因为它会丢掉所有东西,我该怎么做才能做到一旦我击中画布上的播放按钮,另一个被执行?同一场景内的一切。
一个可能的解决方案是取消1 script
,直到你给“播放”不执行该脚本(对象的移动),但你怎么做呢?
移动对象的脚本:
public class MoveBall_ : MonoBehaviour {
public float velocidad = 10f;
private void Update()
{
transform.Translate(new Vector3(1f, 0f, 0f) * velocidad * Time.deltaTime);
}
}
我需要的是velocidad
在单击画布上的按钮之前将其设为 0 play
,并且当单击play
我放置的辅助画布(我想我知道该怎么做)时消失并且球开始像那个脚本一样移动.
这可以通过多种方式完成,但由于它提到了使用画布上的按钮,我们将使用这种方法:
我们将您所拥有的速度更改为
velocidad = 0f
并创建一种方法来将速度设置为velocidad = 10f
。然后在您的画布上选择按钮查找“组件”
Button (Script)
,如果它由于任何原因没有出现,请从组件列表中添加它Add Component
在脚本中查找类似以下内容的部分:点击+。
您将看到如下内容:
现在单击标有
1
一个框的地方将打开某个地方,您可以在其中看到一个名为“Assets”的选项卡和另一个名为“Scene”的选项卡,如果具有脚本的对象在场景中查找它该选项卡,如果它在资产中,则在那里查找并选择它。在上面之后,在用
2
select标记的地方会出现一个列表,其中包含对象的“组件”,寻找具有速度的脚本,我想它会在将MoveBall_
鼠标悬停在脚本上时调用,a列表将显示该脚本可访问的变量方法等,选择名称为 的方法,Play()
因为它是我们在脚本中创建的方法。现在单击按钮将“调用”该方法。
注意:上面也可以用于变量,带参数的方法等需要。
PS:是的,我可以不使用任何方法直接使用变量来修改它,但是我认为以前的方式更好理解,并且它也涵盖了使用方法的部分。
解决方案只是在脚本中设置 speed = 0 但您必须对
static
y进行一些操作float