Jump to content
Unity Insider Forum

Leaderboard


Popular Content

Showing content with the highest reputation since 05/22/2020 in all areas

  1. 1 point
    Hallo Kompetenz. Das wäre was. Im Ernst: Ich befinde mich am Anfang einer hoffentlich langen Reise. Ich stehe allerdings deutlich mehr auf das fantasy setting und habe mir deswegen da ein paar assets gegönnt. Deine Nachfrage ist wirklich nett. Christoph
  2. 1 point
    @chrische5 was könntest du denn gebrauchen? Vielleicht könnte ich da ein neues Asset draus machen?
  3. 1 point
    Musst halt eins bauen! So als Beispiel: public int moneyAmount; public void Collect() { Debug.Log(moneyAmount + " eingesammelt"); } Das packst du auf deinen Prefab, bzw irgendwo da rein (auf den Button z.B.) und dann löst du einfach Collect() mit dem Button aus. Jetzt kannst du mehrere Prefabs machen die verschiedene Dinge tun. Wenn du da mehr machen willst, oder evtl nur ein Prefab haben willst, ist es besser, dieses Script auf dem Prefab zu erweitern, als andere Scripts in den Prefabs rumpfuschen zu lassen. private int moneyAmount; public Text label; private void Start() { moneyAmount = Random.Range(10, 100); label.text = "Du hast " + moneyAmount + " gewonnen!"; } public void Collect() { Debug.Log(moneyAmount + " eingesammelt"); } Wenn du das auf dein Prefab tust, den Text reinziehst und den Button Collect() auslösen lässt, dann bist du fertig! Du kannst das Prefab sogar ohne dein Spawn-Script benutzen. Einfach mal zum Testen in die laufende Szene reinziehen.
  4. 1 point
    Da gibt es zwei Wege. Zum einen kannst du im Script, welches ja an dein Prefab gebunden ist, Werte angeben. Hier wäre z.B. ein Script zum Laden einer anderen Szene: public string sceneName; public void LoadScene() { SceneManager.LoadScene(sceneName); } Jetzt kann man die Komponente in die Nähe des Buttons (oder halt direkt drauf) ziehen und den Namen der zu ladenden Szene eingeben. Das funktioniert, weil du ja nicht die Methode der Klasse aufrufst, sondern der Instanz. Wenn du zwei Buttons hast, der eine zeigt auf das eine GameObject mit diesem Script drauf und der zweite zeigt auf ein anderes GO mit diesem Script, dann wird auch wirklich nur von der Komponenten-Instanz die Methode aufgerufen, auf die da gezeigt wird. Die beiden Komponenten-Instanzen können daher unterschiedliche Werte haben (z.B. für sceneName), und diese Werte werden dann bei der Ausführung berücksichtigt. Alternativ kann man der Methode einen Parameter geben: public void LoadScene(string sceneName) und dann den Wert dieses Parameters beim Button einstellen. Die erste Variante ist vielseitiger, da der Button nur einen Parameter übergeben kann, man aber beliebig viele Felder in das Script packen kann. Die erste Variante erlaubt dir, dass du eine Methode in einem Script ausführen kannst, das eben nicht schon vorher weiß, welchen Wert es haben muss. Man denke z.B. an eine Light-Komponente. Die hat ja auch kein Feld "Farbe, die ich annehme, wenn ein Button gedrückt wird". Für solche Fälle kann man dann sagen Light.color und eine Farbe direkt im Inspektor des Buttons einstellen.
  5. 1 point
    Du kannst entweder selber Reaktionen in UnityEvents (wie onClick) einfügen oder eine Methode auf einem Script innerhalb des Prefabs verlinken. Selber hinzufügen: var button = Instantiate(buttonPrefab); button.onClick.AddListener(() => { TuZeug(100); }); Und beim fest Verlinken, was meistens die bessere Variante ist, baust du halt ein Script mit einer Methode, das landet irgendwo auf dem Prefab, der Button löst die MEthode auf und was dann in der Methode passiert, kannst du dann da implementieren.
  6. 1 point
    Heute war ein schöner Tag, aber ich war trotzdem nicht draußen. Ich habe endlich den Endgegner vom Level 2 programiert und konnte nicht locker lassen, bis er (weitestgehend) fertig war. Beim spätern finalen Einsatz im Spiel wird es noch weitere Geräusche geben, wenn die verschiedenen Teile vom Gegner aus diesem herraus fahren. Zudem wird es im fertigen Spiel etwas mehr Hintergrund geben. Es werden verschiene alte Wracks sichtbar sein. Hier nun das Video:
  7. 1 point
    Die sind generell überall da eine Überlegung wert, wo du Daten hast, die nicht speziell an bestimmte Objekte gebunden sind. Damit sind Items, Achievements und Charaktereigenschaften sehr gute Beispiele für Dinge, bei denen man gut ScriptableObjects benutzen kann. Naja, du ziehst das Achievement-SO aus den Assets in deine Komponente, nachdem du ein Feld dafür gemacht hast: [SerializeField] private Achievement achievement; bzw. [SerializeField] private Achievement[] achievements; für mehrere. Dann greifst du halt drauf zu: someTextComponent.text = achievement.title;
  8. 1 point
    Also eigentlich ist es so, dass ein Regelwerk auch eine Geistige Errungenschaft ist und dem Copyright unterliegt. Also einfach 1zu1 in ein anderes Spiel einzufügen ist erst mal nicht erlaubt. Manchmal darf man ein Regelwerk aber nutzen. Beispiel: Das (Grund)Regelwerk von Dungeons & Dragens (D&D) wurde frei Verfügbar weil es vom Entwickler im Jahr 2000 unter die Open Game Lizens gestellt wurde. Diese Lizens beinhaltet aber nicht die Objekte mit all ihren Werten, die in den Geschichten verwendet wurden. Lediglich die Berechnungsmechanik und Wertevergabe wurde frei gegeben. Willst du aber ein Spiel mit der Spielemechanik von z.B. Monopoly bauen, musst du eine Lizens vom Hersteller erwerben. Das heißt aber nicht, dass du dich nicht von solchen Mechaniken inspirieren lassen darfst. Du darfst sie nur nicht ohne Erlaubnis oder Lizens einfach 1zu1 einbauen.

Announcements

Hy, wir programmieren für dich Apps(Android & iOS):

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...