使用 Unityscript 读取鼠标点击 Input.GetMouseDown
Read mouse click Input.GetMouseDown with Unityscript
我试着让鼠标按下工作,我找到了一个例子,但它不起作用
这是我的错误
Assets/scripts/onclickx.js(13,5): BCE0044: 期待 EOF,找到 '}'。
这是我的代码
import UnityEngine.UI;
import UnityEngine.EventSystems;
if(Input.GetMouseDown(0){
// Whatever you want it to do.
ScoreSystem.drinks -= 1;
mySlider = GameObject.Find("water").GetComponent(UnityEngine.UI.Slider);
counter.water = counter.water += 10
mySlider.value = counter.water;
}
这是 counter.js
的脚本
import UnityEngine.UI;
var mySlider: UnityEngine.UI.Slider;
var water = 90;
function Start () {
// substitute 'sliderName' with the literal name
// of your slider as it appears in the hierarchy:
mySlider = GameObject.Find("water").GetComponent(UnityEngine.UI.Slider);
mySlider.value = water;
}
function OnTriggerEnter(other : Collider)
{
Destroy(gameObject);
ScoreSystem.drinks += 1;
mySlider.value += 10;
// insert desired variable here in place of 'n'
// slider will automagically adjust to display new value
}
这是我的分数系统的代码
static var myScore = 0;
static var score = 0;
static var money = 0;
static var level = 0;
static var drinks = 0;
public var guiSkin : GUISkin;
function OnGUI()
{
GUI.skin = guiSkin;
GUI.contentColor = Color.green;
GUI.Label(Rect((Screen.width / 2) - 60,15, 200, 30), "Score: " + score);
GUI.Label(Rect((Screen.width / 2) - 60,30, 200, 30), "Money: " + money);
GUI.Label(Rect((Screen.width / 2) - 60,42, 200, 30), "Level: " + level);
GUI.Label(Rect((Screen.width / 2) - -320,25, 200, 30), "Drinks: " + drinks);
}
您的第一个代码存在很多问题。
1。代码不在函数内部。那应该在 Update
函数中。
2。您在 if
语句中缺少额外的 )
,因为 [=15= 应该有一个 )
] 函数和另一个关闭 if
语句的函数。
3。mySlider
变量未声明。您设法在 counter
脚本中声明了这一点,但没有在您的第一个脚本中声明。
import UnityEngine.UI;
import UnityEngine.EventSystems;
var mySlider:Slider;
function Update(){
if(Input.GetMouseDown(0)){
// Whatever you want it to do.
ScoreSystem.drinks -= 1;
mySlider = GameObject.Find("water").GetComponent(UnityEngine.UI.Slider);
counter.water = counter.water += 10;
mySlider.value = counter.water;
}
}
注:
将您的 class/script 姓名中的第一个字母大写总是好的。例如,counter
应该是 Counter
并且您的变量名应该以小写字母开头。这将使人们更容易阅读和理解您的代码。
最后,将所有脚本转换为 C#。您必须尽快执行此操作,以便在删除 Unityscript 编译器时不必重新启动项目。
我试着让鼠标按下工作,我找到了一个例子,但它不起作用 这是我的错误 Assets/scripts/onclickx.js(13,5): BCE0044: 期待 EOF,找到 '}'。
这是我的代码
import UnityEngine.UI;
import UnityEngine.EventSystems;
if(Input.GetMouseDown(0){
// Whatever you want it to do.
ScoreSystem.drinks -= 1;
mySlider = GameObject.Find("water").GetComponent(UnityEngine.UI.Slider);
counter.water = counter.water += 10
mySlider.value = counter.water;
}
这是 counter.js
的脚本import UnityEngine.UI;
var mySlider: UnityEngine.UI.Slider;
var water = 90;
function Start () {
// substitute 'sliderName' with the literal name
// of your slider as it appears in the hierarchy:
mySlider = GameObject.Find("water").GetComponent(UnityEngine.UI.Slider);
mySlider.value = water;
}
function OnTriggerEnter(other : Collider)
{
Destroy(gameObject);
ScoreSystem.drinks += 1;
mySlider.value += 10;
// insert desired variable here in place of 'n'
// slider will automagically adjust to display new value
}
这是我的分数系统的代码
static var myScore = 0;
static var score = 0;
static var money = 0;
static var level = 0;
static var drinks = 0;
public var guiSkin : GUISkin;
function OnGUI()
{
GUI.skin = guiSkin;
GUI.contentColor = Color.green;
GUI.Label(Rect((Screen.width / 2) - 60,15, 200, 30), "Score: " + score);
GUI.Label(Rect((Screen.width / 2) - 60,30, 200, 30), "Money: " + money);
GUI.Label(Rect((Screen.width / 2) - 60,42, 200, 30), "Level: " + level);
GUI.Label(Rect((Screen.width / 2) - -320,25, 200, 30), "Drinks: " + drinks);
}
您的第一个代码存在很多问题。
1。代码不在函数内部。那应该在 Update
函数中。
2。您在 if
语句中缺少额外的 )
,因为 [=15= 应该有一个 )
] 函数和另一个关闭 if
语句的函数。
3。mySlider
变量未声明。您设法在 counter
脚本中声明了这一点,但没有在您的第一个脚本中声明。
import UnityEngine.UI;
import UnityEngine.EventSystems;
var mySlider:Slider;
function Update(){
if(Input.GetMouseDown(0)){
// Whatever you want it to do.
ScoreSystem.drinks -= 1;
mySlider = GameObject.Find("water").GetComponent(UnityEngine.UI.Slider);
counter.water = counter.water += 10;
mySlider.value = counter.water;
}
}
注:
将您的 class/script 姓名中的第一个字母大写总是好的。例如,counter
应该是 Counter
并且您的变量名应该以小写字母开头。这将使人们更容易阅读和理解您的代码。
最后,将所有脚本转换为 C#。您必须尽快执行此操作,以便在删除 Unityscript 编译器时不必重新启动项目。