How to use variables from UnityScript in Boo?

大城市里の小女人 提交于 2019-12-25 04:06:51

问题


I've been trying to implement this but without any success. While I was googling around I saw that this is somehow possible but I can't reach it by myself obviously. This my file tree:

|-Game
|--Assets
|---Animacije
|---Skripte
|----*BlokSistem.js
|---Standard Assets
|----*UI.boo
|---Prefabs
|---Sprites
|---Game.unity

I want to use variable from BlokSistem.js in UI.boo, but without any success. I want to change one and print another. Here is my code for now (UI.boo):

import UnityEngine
import System.Collections

public class UI(MonoBehaviour):

       blokSistem as BlokSistem = GetComponent[of BlokSistem]() #this is line 7 which produces error

       def OnGUI() as void:
           GUI.Box(Rect(0,0,200,50), "Blocks")
           if GUI.Button(Rect(0,60,200,25), "Dirt = "+blokSistem.dirtAmount):
                blokSistem.selectedBlock = blokSistem.dirtBlock
           elif GUI.Button(Rect(0,60,200,25), "Grass = "+blokSistem.grassAmount):
                blokSistem.selectedBlock = blokSistem.grassBlock

I get this error on line 7 (commented it in code above):

The name 'BlokSistem' does not denote a valid type ('not found'). 

This is how I declared my variables in BlokSistem.js:

public var dirtAmount : int;
public var grassAmount : int;
public var selectedBlock : GameObject;

Thanks in advance for help.


回答1:


The problem here is compilation order. At the time where your Boo and JS code are compiled, they don't have access to each other. But there is a workaround for that.

Plugin code will be compiled before the "regular" code in your assets. So if your Boo code relies on something in your JS (UnityScript) code, you can put the JS code inside a folder named "Plugins". Keep in mind that this (logically) works only one way around though. So if your JS code ever relies on something in the Boo side, you're out of luck.

This does however (if it is your own code) usually imply it's a good idea to switch to a single language and stick to it. And with focus being more on C# than on UnityScript and particularly Boo, you might want to consider moving over.



来源:https://stackoverflow.com/questions/28274895/how-to-use-variables-from-unityscript-in-boo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!