使用Unityscript读取鼠标单击Input.GetMouseDown

时间:2017-08-26 12:53:12

标签: javascript unity3d 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 个答案:

答案 0 :(得分:1)

您的第一个代码存在许多问题。

1 。代码不在函数内部。那应该在Update函数中。

2 。您在)语句中遗漏了额外的if,因为)函数应该有一个GetMouseDown而另一个if关闭mySlider语句。

3 。未声明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; } } 脚本中声明,而不是在第一个脚本中声明。

counter

注意:

将类/脚本名称中的第一个字母大写是一件好事。例如,Counter应为STATIC_URL ='/static/' ,您的变量名称应以小写字母开头。这将使人们更容易阅读和理解您的代码。

最后,将所有脚本转换为C#。您必须尽快完成此操作,以便在删除Unityscript编译器时不必重新启动项目。