【发布时间】:2017-08-05 13:47:56
【问题描述】:
我有一个代码块,它启动一个计时器,启用一个脚本,实例化,然后禁用该脚本(这使我的游戏机制发挥作用)。我现在面临的唯一问题是我的 Javascript 代码无法识别组件(触发)错误将脚本读取为未声明 从公共变量(已添加,并保存脚本)。
我遵循了 Unity 的示例,但似乎没有成功。任何帮助表示赞赏。这是我的代码:
#pragma strict
var enemy : Transform;
private var timer : float;
public var mother : GameObject;
function Awake() {
timer = Time.time + 14;
script = mother.GetComponent(triggered);
script.enabled = script.enabled;
}
function Update() {
if (timer < Time.time) {
Instantiate(enemy, transform.position, transform.rotation);
timer = Time.time + Random.Range(55, 60);
script.enabled = !script.enabled;
}
}
【问题讨论】:
-
1.您没有描述您的问题。你有什么错误吗?这段代码到底发生了什么? 2.
script未声明。你为什么要访问/写入一个甚至没有声明的变量? 3.您应该使用 C# 而不是 Unityscript/Javascript。如果您想在未来创建严肃的游戏,您将需要它。 -
@Programmer 这是我第一次编写游戏代码,所以我对使用哪种语言不是很有经验;)。是的,错误是因为它未声明,但脚本不是声明为母亲的组件吗?这怎么可能解决?将 private var script = mother.GetComponent(triggered); 添加到 Awake 函数的外部和上方会修复它吗?
-
你有一个名为
triggered的脚本? -
@Programmer 是的,它在游戏对象下添加到 public var
标签: javascript variables unity3d unity5