2012-09-07 22 views
6

Unity JS hakkında bir yazı okuyorum. Makale, birleşik js'de bir sınıf örneğini gösterdi. Bu Birlik JS benziyorUnity JS'nin bir sınıfı nasıl?

class Person{ 
    var name; 
    var career; 
} 

//Create objects of type Person 
var john = Person(); 
john.name = "John Smith"; 
john.career = "doctor"; 
Debug.Log(john.name + " is a " + john.career); 

aslında class anahtar kelime destekler. JavaScript ile class'u nasıl destekliyor? Ölü ES4 spesifikasyonu veya modifiye ES3 veya 5 kullanıyorlar mı? UnityScript ve JavaScript arasındaki farklar bu makale

cevap

9

atın: http://wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScript Ayrıca

: Wikipedia "ECMAScript esinlenen sözdizimi ile özel bir dil"

+0

Yığın Taşmasına Hoş Geldiniz! Bağlantılı içeriğin kısa bir özeti bu cevabı büyük ölçüde artıracaktır (ve bağlantı daha sonra bayatlanırsa sorunların önlenmesine yardımcı olacaktır). –

+1

Bu sorunun amaçları açısından, bu makaleden en önemli ifadenin 'Birlik'in' olduğunu düşünüyorum. ”" Dilin [ECMAScript] belirtimine uymaya yakın bile gelmiyor ". –

+0

Kısa bir özet Joachim Saucer'ın işaret ettiği gibi güzel olurdu ama sanırım cevap olarak kabul etmeliyim. Bağlantıdaki bilgiler doğru. – Moon

1

Unity JavaScript o gerçek JavaScript olmadığı için UnityScript açıklar Unity'nin acemi için kısa sözdizimi olan yeni bir dil. Birisi UnityScript diyor, çünkü onlar sadece iki farklı dil.

Unity'nin Javascript'i, tüm OOP özelliklerini destekleyen sınıf tabanlı bir OO dili olup, Unity'deki C# ile aynı yönetilen kodla derlenecektir.

örneğin bir JavaScript dosyası bir olsa bile 100 aynı ortalama%

class Foo : MonoBehaviour { 
    int myVar; 
    void Update() {} 
} 

olarak takip

var myVar : int; 
function Update() {} 

C# komut aynıdır Unity "Foo.js" olarak adlandırılan Foo.js'de 'class' anahtar kelimesi var, ancak aslında bir Foo sınıfı oluşturuyorsunuz.

i söylediklerini doğrulamak için başka bir komut dosyası "Boo.js" sınıf Foo devralan edebilirsiniz:

class Boo extends Foo { 
    function Update() {} 
} 

Unity javscript en javscript etti sözdizimi, ancak C# 'ın ruhu.