首先要明白,这三种说的混用是指文件级别的混用,就是说一个文件是由一种语言写的。而不是说你这一个文件可以混用这三种语言,注意这是不允许的。

第二要明白,在unity3d中为什么可以使用三种语言混合开发?这个问题简单说一下,我举一个例,如英语和中文,如果你不懂英文,你就需要别人将英文翻译成中文,你才能听懂。同样你懂英文,不懂中文,你就需要把中文翻译成英文。如果世界就二种语言,那就太好了,很可措,不是,如果你听我们的老大哥俄文怎么办,找人将俄文翻译成中文,英文,同时将英文,中文翻译成俄文,这工作量还可以。如果你想韩文,日文……。这在生活是这样,但是在计算机就有更好的办法,增加一个中间语言,使所有的语言都可以变成这种中间语言,同时所有的语言都可以读懂中间语言。这在unity3d中也使用的这种技术,三种脚本语言都被翻译成了一种中间语言,这样大家都可以在中间语言层上相互调用,在IDE中表现出的情况就是你调用了别的语言写的脚本。

第三要注意,我在第二点说了,脚本被翻译成中间语言才能被调用,也就说一个脚本语言写的类被调用,它必须先被翻译成中间语言,然后才能被别的语言调用,因此这里就涉及到一个脚本的先后编译顺序问题。

第四,Unity3d中有一个脚本编译顺序,这里是中文,还有这里是官网说明,总得来说编译有四个步骤,如果你想让一种语言写的脚本被别的语言调用,那你一定要将文件放到最先编绎的文件夹中,同时你的调用脚本放在后调用的文件夹中,这样就可以实现三种语言混用的目的。

下一篇准备说说这三种语言的语法。