donbruno Geschrieben 22. September 2016 Melden Share Geschrieben 22. September 2016 Hallo ich versuche einen Enum in Javascript global Verfügbar zu machen... aber keine Ahnung wie das geht :-( In einer JS Datei ok, das klappt aber global? enum states {first, second, third}; Kann da jemand helfen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 22. September 2016 Melden Share Geschrieben 22. September 2016 Ein enum ist ja weniger wie eine Variable, als viel mehr wie eine Klasse. Es wird einfach definiert und ist dann verfügbar. Eine eigene Datei ist okay, auch wenn dein Enum so aussieht, als wäre es eingebettet in einer anderen Klasse sinnvoller - aber auch nur aufgrund der Semantik. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
donbruno Geschrieben 22. September 2016 Autor Melden Share Geschrieben 22. September 2016 also wenn ich sowas wie public enum {...}; schreibe so ist der enum in einer anderen js Klasse nicht verfügbar :-( ich habe eine Datei j1.js und da ist der/die enum enthalten... ich wollte der/die enum aber nun in j2.js verwenden und dachte es geht so var Status = j1.states.first geht aber nicht :-( Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 22. September 2016 Melden Share Geschrieben 22. September 2016 Das ist ein wenig verwirrend an JS in Unity. Wenn du nichts hinschreibst, bastelt Unity automatisch etwas dazu. Aus var blub : int; wird beim Kompilieren import UnityEngine; public class Dateiname extends MonoBehaviour { var blub : int; } Wenn du aber gleich den zweiten Code in eine Datei schreibst, braucht Unity das nicht mehr dazuzudichten. Auf diese Weise kannst du Klassen in JS erstellen, die nicht von MonoBehaviour erben, sondern z.B. von ScriptableObject. Dasselbe ist jetzt der Fall, wenn du ein Enum erstellst. Schreibe einfach: public enum Dateiname { foo, bar, baz } dann kannst du das Enum anderswo direkt benutzen: var status = Enumname.foo; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.