Jump to content
Unity Insider Forum

yawahoo

Members
  • Posts

    22
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

yawahoo's Achievements

Member

Member (2/3)

0

Reputation

  1. Danke... Ich werde mir das mit OverlapPoint ansehen. Ich habe das jetzt erst mal per Scripts in den GOs gelöst. Ich tue mich noch ein wenig schwer mit Unity und der Art und weise wie man damit "umgeht".
  2. Hallo zusammen. Ich habe eine Tilemap in Z = 0 und ein GO in Z = -1 und ragieren auf einen Klick auf die linke Maustaste. Wenn ich nun mit: ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { Debug.Log("Treffer"); } else { Debug.Log("Kein Treffer"); } versuche etwas zu treffen bekomme ich immer "Kein Treffer". Egal ob ich über einem GameObject oder der Tilemap klicke. Kann mit hier jemand helfen? Gruß Jan
  3. Hallo. Ich bin relativ neu in Unity, kann Dir da also wenig helfen aber... Ich habe das ganze schon mal in C# gemacht. Dort hatte jedes Hexfeld eine Point-Variable (bei Unity Vector2) in der ich den Mittelpunkt des Feldes gespeichert habe. Mit A* habe ich dann den Path berechnet und hatte so eine Liste mit allen Hexfeldern durch die das Raumschiff fliegen muss. Dann habe ich mit dieser Liste einfach eine Linie von Mittelpunkt zu Mittelpunkt gezeichnet. So in der Art muss das bei Dir doch auch möglich sein, weil Du ja auch iwie den Weg berechnet haben musst. Von daher solltest Du doch schon wissen durch welche Hexfelder dieser geht. Gruß Jan
  4. Mir geht es darum dies "richtig", wie in Uinty üblich" zu machen. Und da ich in Unity relativ neu bin, bin ich mir unsicher.
  5. Hallo zusammen. Ich möchte für mein Spiel Einstellung und Optionen speichern. ZB. soll beim Spielstart der Spielername und eine eMail-Adresse eingegeben werden, eine Spielernummer vergeben werden. Wie mache ich das am besten. Ein scriptable object anlegen? Das bietet sich ja an weil ich dann von "überall" auf die Werte zugreifen kann und weil die Werte automatisch gespeichert werden. Oder gibt es da was anderes in Unitiy? Gruß Jan
  6. Hallo mal wieder... Ich habe mal wieder ein Problem und sehe den Wald vor Bäumen nicht. Ich habe einen Script in dem ich die Maus "kontrollier" private void Update() { if (Input.GetMouseButtonUp(0)) { if (bauModus.baumodusAktiv == true) } print("Gebaut = " + bauModus.bauGO + " at: " + currentCellWelt); } } } Weiterhin habe ich mehrere UI-Buttons. Mein Problem ist nur, dass mein Mausscript auch reagiert wenn ich auf einen Button klicke. Kann man das iwie abfangen? Gruß Jan
  7. Hallo zusammen. Ich habe folgenden Script: using System.Collections; using System.Collections.Generic; using UnityEngine; public class ButtonController : MonoBehaviour { public GameObject[] karten; } Den habe ich an 2 GO gehängt. Über den Inspector kann ich ja nun eine Anzahl angeben und dann die GO in die Felder ziehen. Was mich nun verwirrt ist, dass ich an die verschiedenen GO den selben Script gehängt habe aber dennoch im Inspector verschiedene Anzahlen an GO eingeben kann. So sieht es dann zB. für das eine GO aus. Und so für das andere. Wird also für jedes GO eine eigene "Copie" des Scriptes angehängt? Und wenn ja, gibt es eine Möglichkeit das zu verhindern. Also, dass wenn ich die Werte im ersten GO ändere diese auch im zweiten GO geändert werden? Gruß Jan
  8. Hm, ich mag das ja auch noch so mit diesen Variablen die man dann im Inspektor mit Werten füllen kann. Aber da ja jede Einheit eigene Grundwerte hat müsste ich ja sonst für jede Einheit einen eigenen Scriptschreiben. Ich tue mich da bei Unity noch etwas schwer. Die Idee war halt an jede Einheit einen Script wie public class Eiheit { public int Trefferpunkte; public int Geschwindigkeit; ... ... ... } zu hängen und diese Werte dann über den Inspektor zu vergeben. Ich "dachte" so macht man das in Unity. Wobei ich diese Klasse natürlich auch per Code vererben könnte. Das ist ja der Grund warum ich frage. In wie weit Unity nutzen und in wie weit nicht.
  9. Hallo zusammen, ich habe ja angefangen per Unity ein Strategiespiel zu programmieren. Ich habe das vor Jahren schon mal in VisualBasic gemacht. Aber ich denke Unity kann mit da viel Arbeit abnehmen. Die Map steht soweit und das grundsätzliche UI ist auch soweit. Nun geht es daran Einheiten zu erstellen und bauen zu können. Dazu generell eine Frage wie man das in Unity am einfachsten macht? Ich habe zZ. Sprites mit den Bildern für die zB. Gebäude. Wie mache ich das nun am besten? Ich denke grob so: - Sprite im Inspektor in die Szene ziehen - Script mit public Variablen anhängen um zB. Trefferpunkte etc. speichern zu können - Daraus nen Prefap machen und dieses dann bei Bedarf per instantiate in der Welt "erscheinen" lassen So ungefähr? Gruß Jan
  10. Hallo. So wie Du es hier vorgeschlagen hast funktioniert es. Ist zwar iwie ein "komischer" Weg. Aber das Ergebniss zählt. Danke
  11. Anders: Ich habe das GameObkect GO_Baum. Dieses GO_Baum hat weitere, untergeordnete GameObjecte GO_Ast, GO_Blatt und GO_Knospe. Also im Inspector so: GO_Baum GO_Ast GO_Blatt GO_Knospe Wie kann ich jetzt einem GO_Temp das GO_Blatt zuordnen. GO_Temp = GameObejct.Find<"GO_Blatt">(); kenne ich, kann ich aber nicht nutzen. Gibt es noch andere Möglichkeiten? Es geht einfach darum, dass ich ein Userinterface mit 3 Buttons habe. Die Image-Komponenten der Buttons nutze ich als Hintergrund. Um auf den Buttons dennoch eigene Bilder zuordnen zu können habe ich dem Button ein UI-Image untergeordnet. Und genau auf die Image-Komponente dieses UI-Image möchte ich zugreifen wenn der Nutzer einen der Buttons klickt. Und das ganze am besten ohne für jeden Button einen eigenen Script zu schreiben oder etwas über den Inspector "hin und her zu ziehen". Wenn jetzt nicht weiß ich tatsächlich nicht mehr wie ich das erklären soll.... Gruß Jan
  12. Hallo. Ich habe folgende Objecte im Inspektor und an jedem der Buttons hängt der selbe Script. Der Script sieht gekürzt so aus: public class BauController : MonoBehaviour { private GameObject goBildHolen; public void bildHolen() { goBildHolen = GameObject.Find("zu findendes GameObject"); } } Ich möchte jetzt, wenn zB. der Button ButtonBaumenuBasis geklickt wurde, im Script das GameObject ImageButtonBaumenuBasis dem GameObject goBildHolen zuweien. Das geht ja zB. per GameObject.Find mit goBildHolen = GameObject.Find("ImageButtonBaumenuBasis". Aber was ist nun wenn der Button ButtonBaumenuFlugfeld geklickt wird. Dann möchte ich das GO ImageButtonBaumenuFlugfeld zuordnen. Ich müsste also iwie den String in der .Find-Anweisung ändern. Das man das per UI und public Variablen machen kann weiß ich. Das ist aber nicht was ich will. Deswegen frage ich mich ob es eine Möglichkeit gibt ein GO "unter" einem GO zu finden ohne, dass man dessen Namen kennt. ZB. über den Typ des GO (hier ja Image) oder so. Gruß Jan
  13. Hallo zusammen. Ich habe mal wieder angefangen mit Unity zu arbeiten. Nun habe ich mehrere Buttons die alle den gleichen Script aufrufen. Jeder Button beinhaltet ein GameObject<Image>. Dieses Image möchte ich nun einem GameObject zuordnen ohne zu wissen wie es heißt. Also kann ich das nicht über GameObejct.Find machen. Ich komme da nicht auf eine Lösung. Gruß und Danke Jan
×
×
  • Create New...