使用 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 语句的函数。

3mySlider 变量未声明。您设法在 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 编译器时不必重新启动项目。