Driller Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 http://www.directupload.net/file/d/4197/ae396czp_png.htm Hallo, liebe Community Von Zeile 5 bis 12 habe ich meine Klasse "Biom" deklariert. Darunter habe ich in Zeile 14 das Biom-Array "BD" angelegt. Darunter in Zeile 15 kann ich jedoch nicht darauf zugreifen. Es wird ein "Jagged Array" statt eines normalen Arrays angelegt. Wie kann ich das korrigieren? Vielen Danke schon im Vorraus, Liebe Grüße -Driller Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 du kannst nur innerhalb einer Methode direkt auf dein array zugreifen also z.B. public Biom[] BD = new Biom[2]; void Awake() { BD[0].name = "Wald"; } Gruß Cxyda Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Silveryard Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 In Javascript kann Code außerhalb von Funktionen und Klassen geschrieben werden. Unity nimmt alle Funktionen von JavaScript und packt sie in eine (für den User unsichtbare) Klasse, die von MonoBehaviour erbt. Unity nimmt dann allen Code, der nicht in Funktionen steckt und packt ihn in eine (auch für den User unsichtbare) Methode Main und zu den anderen Funktionen. Main wird nach Awake und vor Start aufgerufen. In C# muss aller Code in Funktionen und Klassen stehen. Cxydas Antwort ist richtig, wenn du das Array über den Editor bearbeitest, musst du es allerdings nicht initialisieren. Das macht Unity für dich. Funfact: Auch wenn das nirgendwo dokumentiert ist, die Main Methode kann auch in C# deklariert werden und wird von Unity aufgerufen. Falls man zwischen Awake und Start noch was braucht Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 Funfact: Auch wenn das nirgendwo dokumentiert ist, die Main Methode kann auch in C# deklariert werden und wird von Unity aufgerufen. Falls man zwischen Awake und Start noch was braucht Och! Das ist ja nett. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 Wie kommt der OP eigentlich darauf dass ein Jagged Array erstellt wird? Das Array was er da deklariert hast ist ein eindimensionales normales Array. Normales eindimensionales Array: int[] normal; Jagged Array: int[][] jagged1; int[][][] jagged2; Multidimensionales Array: int[,] multidimensional1; // 2D int[,,] multidimensional2; // 3D Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MarcoMeter Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 Natürlich kann man auch ein Array unmittelbar bei der Deklaration initialisieren: // Single-dimensional array (numbers). int[] n1 = new int[4] {2, 4, 6, 8}; int[] n2 = new int[] {2, 4, 6, 8}; int[] n3 = {2, 4, 6, 8}; // Single-dimensional array (strings). string[] s1 = new string[3] {"John", "Paul", "Mary"}; string[] s2 = new string[] {"John", "Paul", "Mary"}; string[] s3 = {"John", "Paul", "Mary"}; // Multidimensional array. int[,] n4 = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} }; int[,] n5 = new int[,] { {1, 2}, {3, 4}, {5, 6} }; int[,] n6 = { {1, 2}, {3, 4}, {5, 6} }; // Jagged array. int[][] n7 = new int[2][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} }; int[][] n8 = new int[][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} }; int[][] n9 = { new int[] {2,4,6}, new int[] {1,3,5,7,9} }; Der Zugriff gilt dann innerhalb einer Funktion im passenden Scope. MSDN Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Driller Geschrieben 9. Dezember 2015 Autor Melden Share Geschrieben 9. Dezember 2015 Mensch, wie konnt ich denn nur so dumm sein Da hab ich vor Inkompetenz nicht dran gedacht das Ganze in die Start-Funktion zu schreiben, danke ^^ 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.