我知道在这个问题上有一些答案,但它们对我不起作用,或者我只是愚蠢。遗憾。
以下是我的脚本:
menu_options.js - http://pastebin.com/NFXD3ZgP
Transmitter.js - http://pastebin.com/kCmGTgbH
我已将Transmitter.js附加到特定对象。它被称为“_Transmitter”。
如果我运行我的脚本,我会得到以下错误:
Assets/Script/menu_options.js(7,40): BCE0023: No appropriate version of 'UnityEngine.GameObject.GetComponent' for the argument list '(UnityEngine.GameObject)' was found.
为什么呢?这是什么意思?
在教程和答案中我理解错误了什么?
我也试过这个:
trans = Transmitter.gameObject.GetComponent(Transmitter);
和此:
trans = Transmitter.GetComponent(Transmitter);
PS:对不起我的英语,我是德国人。
答案 0 :(得分:1)
要将参数传递给另一个脚本,您必须首先引用该脚本。
SCRIPTA
function Start()
{
var reference : GameObject = GameObject.Find("Name Of GameObject").GetComponent("ScriptB");
reference.setValue(50);
}
所以我们Find()
拥有脚本的GameObject,我们首先需要拥有它的GameObject的名称。然后我们使用GetComponent()
来获取脚本的参考。然后我们进行函数调用以设置参数。
ScriptB
private var myValue : int;
function setValue(var amount : int)
{
myValue = amount;
}
答案 1 :(得分:0)
PlayerPrefs.SetInt("variablenname", 1);
和
var v1 = PlayerPrefs.GetInt("variablenname");
效果很好!