Joscupe Geschrieben 1. April 2021 Melden Share Geschrieben 1. April 2021 Ich würde gerne einen Jump and Run programmieren der sich immer weiter lädt/ generiert. Ich bin totaler Anfänger und hab deshalb keie Ahnung wie das geht. Ich würde mich freuen wenn jemand eine Lösung dafür hat und es auch erklären (oder Erklärlinks hinzufügen) kann. P. S ich bin schon seit Wochen nach einer Lösung am suchen, damit meine ich nicht einfach ein Viedeo das mir den Code vorschreibt sondern nach erklärungen wie ich den Code schreiben kann, respektiv Erklärungen. Ich möchte es nicht Abschreiben sondern verstehen, dachte ich mir dabei. Ich danke euch für eure Unterstützung Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 1. April 2021 Melden Share Geschrieben 1. April 2021 Inwiefern unterscheidet sich jetzt dieses Thema von deinem letzten? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 1. April 2021 Autor Melden Share Geschrieben 1. April 2021 Gar nicht aber ich verstehe das mit den prefabs und so nicht und war mir nicht sicher ob man auf den alten post noch antwortet Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 1. April 2021 Melden Share Geschrieben 1. April 2021 Hallo Auch hier wirst du wohl konkreter werden müssen. was verstehst du bei prefabs nicht? was hast du probiert? zu dem thema findest du eigentlich was im netz... Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 2. April 2021 Autor Melden Share Geschrieben 2. April 2021 Also grundsätzlich versteh ich gar nich terst wie man hier vorgeht um eine sich immer neuer genererierbarer Map macht. Also grundsätzlich habe ich keine Idee wie ich das machen kann. Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 2. April 2021 Melden Share Geschrieben 2. April 2021 Hallo Du kannst dir einzelne Elemente der Map erstellen und diese als prefabs hinterlegen. Kannst du dir als Baustein vorstellen. Wenn du einige dieser Bausteine erstellt hast, kannst du dir während der Laufzeit deines Programms zufällig einen davon auswählen und anzeigen. Das ist das Grundprinzip. Natürlich kannst du das beliebig verfeinern, aber so ist der Start. Tipp: Mach dir zwei total simple Prefabs (einfach zwei Grafiken) und versuche dann 10 anzuzeigen, wobei zufällig ist, welches grafik an 1,2,3, usw angezeigt wird. Von dort aus, ist der Rest ein Kinderspiel🤪. Du MUSST ganz klein anfangen. Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 2. April 2021 Autor Melden Share Geschrieben 2. April 2021 Danke ich versuche es mal, bei Fragen melde ich mich wieder Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 7. April 2021 Autor Melden Share Geschrieben 7. April 2021 Ich versuche mich gerade an den Würfeln, dass ein Würfel zufällig generiert wird. public class RandomCubes : MonoBehaviour { public GameObject[] Cube1; public GameObject[] Cube2; public GameObject[] Cube3; public GameObject[] Cube4; public GameObject[] Cube5; public GameObject[] Cube6; public GameObject[] Cube7; public GameObject[] Cube8; public GameObject[] Cube9; public GameObject[] Cube10; void Start() { GameObject[] CubesOneToTen = new GameObject[Cube1, Cube2, Cube3, Cube4 ,Cube5, Cube6, Cube7, Cube8, Cube9, Cube10]; var prefab = CubesOneToTen[Random.Range(0, CubesOneToTen.Length)]; } Deshalb wollte ich alle Würfel in eine Liste packen was aber als Error angezeigt wird, ich suchte schon im Internet nach einer Lösung wie Gameobjects in eine Liste machen kann, leider erfolglos. Deshalb frage ich mich wie ich das lösen könnte. Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 7. April 2021 Melden Share Geschrieben 7. April 2021 Wenn du eine Variable mit eckigen Klammern deklarierst, dan legst du fest, dass diese Variable ein Array bildet. Du hast also 10 GameObject-Arrays gebildet und die Cube1 bis Cube10 genannt. In der Start willst wieder ein GameObject-Array bilden und dort gleich deine Cube Arrays einfügen. Also ein Array aus 10 Arrays. Merkst du es? Deklarier doch einfach gleich ein einziges Array, welches 10 Stellen hat und leg dann im Inspector alle deine 10 Würfel rein. public GameObject [] CubesOneToTen = new GameObject[10]; // dem Array gleich eine Größe verpasst. Lässt sich aber auch noch ändern Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 7. April 2021 Autor Melden Share Geschrieben 7. April 2021 Vielen Dank Sie haben mir sehr geholfen Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 7. April 2021 Autor Melden Share Geschrieben 7. April 2021 Ich frage mich wie ich das mache: wenn ich an einem bestimmten Zeitpunkt stehe, dass es dann neue Prefabs/weiter generiert. public class RandomCubes : MonoBehaviour { public GameObject[] CubesOneToTen = new GameObject[10]; void Start() { for (float x = 0; x <= 10; x += 1) { var randomCube = CubesOneToTen[Random.Range(0, CubesOneToTen.Length)]; Instantiate(randomCube, new Vector3(x, 0, 0), Quaternion.identity); } } Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 8. April 2021 Autor Melden Share Geschrieben 8. April 2021 Kennt da jemand eine Lösung für. Ich habe es mit schleifen probiert (Bei denen ich nicht weiss, ob sie Korrekt sind) was aber nicht funktionierte. Leider. BIn ich da mit den Schleifen auf dem Holzweg? Ich freue mich auf eure Lösungen. Joscupe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 8. April 2021 Melden Share Geschrieben 8. April 2021 Hallo Zeitpunkt heißt Zeit? Also nach beispielsweise 10 Sekunden soll was Neues generiert werden? Wenn ja, könntest du es probieren: float _time = 0f; float _timeYouWant = 10f; private void Update() { _time += Time.delatTime; if(_time > _timeYouWant) { //MAch hier, was du willst _time = 0; } } Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 8. April 2021 Autor Melden Share Geschrieben 8. April 2021 Also ich dachte eher an die strecke also so: ----x---- -------x- -> -------x------ x = spieler - = soll Prefabs darstellen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 8. April 2021 Melden Share Geschrieben 8. April 2021 Hallo Dann musst du wahrscheinlich die x-Koordinate des transform deines Spielers prüfen: private void Update() { if(transform.x > _deinWert) { //mach, was immer du willst } } So ganz grundsätzlich. Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Joscupe Geschrieben 8. April 2021 Autor Melden Share Geschrieben 8. April 2021 Also ich habe das jetzt so versucht und dran rumgetüftelt aber es funktioniert nicht. Ich versuchte es so das wen sich die x Position des Spielers grösser ist als die x Position des Prefabs soll es 10 neue, zufällig generierte Würfel zu generieren. Aber es funktioniert einfach nicht. public class RandomCubes : MonoBehaviour { public GameObject player; public GameObject[] CubesOneToTen = new GameObject[10]; public float xAxis = 0; void Start() { } void Update() { if (player.transform.position.x > xAxis) { for (float x = 0; x <= (x + 10); x += 1) { var randomCube = CubesOneToTen[Random.Range(0, CubesOneToTen.Length)]; Instantiate(randomCube, new Vector3(x, 0, 0), Quaternion.identity); xAxis = x; } } } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 8. April 2021 Melden Share Geschrieben 8. April 2021 Geil x <= (x + 10) So als Tipp: Das ist immer true. Wird ja nicht nur das linke X größer, das rechte wird's auch 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.