Jump to content
Unity Insider Forum

Hermetes

Members
  • Content Count

    173
  • Joined

  • Last visited

  • Days Won

    1

Hermetes last won the day on May 5 2016

Hermetes had the most liked content!

Community Reputation

5 Neutral

About Hermetes

  • Rank
    Advanced Member

Recent Profile Visitors

1,225 profile views
  1. Mazy, habe bei mir die ScrollWheel so gelöst. Mit y dran , und Speed. float mouseWheelRotation; private void RotateFromMouseWheel() { mouseWheelRotation += Input.mouseScrollDelta.y; currentPlaceableObject.transform.Rotate(Vector3.up, mouseWheelRotation * 10f); }
  2. Hermetes

    Iso Cammera.

    Markus, die Camera Programmierung ist eines der schwierigsten Dinge in Unity. Da solltest du zuerst an andere Dinge ran. Mit Camera.main kannst du übrigens deine Camera von einem anderen Script aus ansprechen.
  3. Danke euch drei! So wie es aussieht, benutzt ihr eifrig die Properties. Hatte da immer einen Bogen drum gemacht.
  4. Deine Idee gefällt mir Wattsefakk! Bin gespannt ob noch jemand mit einer unerwartete Möglichkeit aufwartet.
  5. Hallo! Anstatt abzufragen if (playerstate == state.run) kann man denn auch den Wechsel zum State abfragen? Oder komme ich da mit einem Delegate und Event nicht drum herum? Ich frage, weil das ja wieder unnötig viele Update Abfragen sind.
  6. Genau das! Und am besten die Information herausholen wann der Agent aufhört sich zu drehen, zwecks der Animation. Ich suche allgemein mehr Infos im Gebiet Rotation, kann das im Scripting API gar nicht so richtig finden.
  7. Es geht um ein Pferd, das die Animation bekommen soll. Wenn z.B. die distance < 3 ist, dann soll es rückwärts laufen. Links- sowie Rechtsdrehung Animation für Mausposition left, right. Für die Drehung müsste ich eher an Rigidbody.velocitiy ran, oder? Für das rückwärtslaufen jedoch wäre das WorldToScreenPoint genau das richtige, denke ich.
  8. Herzlichen Dank für das scripten Sascha! Habe es auch gleich ausprobiert. Und vergessen zu erwähnen, das es sich ja um ein selbst rotierendes Object handelt. Es ist ein NavMesh Agent. Jetzt müsste ich hier: Camera.main.WorldToScreenPoint(target.position) wohl noch sowas wie direction.forward (aus der Luft gegriffen) anbringen.
  9. Ich möchte die Richtung feststellen ob der Maus Click left,right,forward,back , von einem Object ausgehend, erfolgte. Gibt es dafür eine Methode oder muss man das mathematisch berechnen?
  10. Du kannst ein Sprite im Canvas verwenden. Stichwort : Indicator Waypoint Marker | Unity https://www.youtube.com/watch?v=oBkfujKPZw8&t=3s
  11. Oh mir fiel es gerade auf! "theme_color" + i muss es natürlich heissen. Die Themebox übernimmt die Sachen nun wieder nicht, es ist zu spät heute...mache Feierabend.
  12. Tausend Dank Dir Sascha!!! Der Compiler meinte das man den Type zu einer Variable ersetzen muss. Also machte ich SerializeColor(color)) zu : PlayerPrefs.SetString(key, SerializeColor(c)); Weiss nicht ob das richtig war Habe nämlich deinen Debug Error bekommen. Debug.LogError("Could not deserialize color."); Und so in Save() eingeschrieben: SetColor("theme_color + 1", saveThemeList[i].themeColor); In Load() var themeColor = GetColor("theme_color" + i); theme.themeColor = saveThemeList[i].themeColor; Playerprefs habe ich mir nicht unbedingt ausgesucht. Es erschien mir am leichtesten.😌 Zu was tendierst du denn ? Json oder XML ?
  13. Sascha , ich hab´s beinahe! Ich taste mich von einer Variablen zur nächsten. Mit dem Namen und der ID klappts! Und nun weiss ich nicht wie ich bei der Color vorgehen muss. Also, wie bringe ich das string zu Color zurück? saveThemeList.Add(new SaveTheme(themeIndex, themeName, themeColor, themeboxPrefab)); themePrefab.GetComponent<ThemeBox>().themeName = saveThemeList[i].themeName; themePrefab.GetComponent<ThemeBox>().themeID = saveThemeList[i].themeIndex; themePrefab.GetComponent<ThemeBox>().themeColor = saveThemeList[i].themeColor; Mein Struct: public SaveTheme (int index, string name, Color themecolor, GameObject prefab) { this.themeIndex = index; this.themeName = name; this.themeColor = themecolor; this.themePrefab = prefab; } Fehlermeldung: SaveManager.cs(99,65): error CS1503: Argument 3: cannot convert from 'string' to 'UnityEngine.Color' SaveManager.cs(103,60): error CS0029: Cannot implicitly convert type 'string' to 'UnityEngine.Color' Meine Umwandlung zum String var themeColor = PlayerPrefs.GetString("theme_color" + i); Das war ein gutes Beispiel mit der Vector 3! Irgendwie assoziere ich ein struct als ein neutraler Wert. Mag vielleicht wieder falsch sein, aber so funktioniert meine Denke.
  14. Du kannst das auch ohne Scriptable Object. Ich rate es dir sehr, das ist sehr kompakt und übersichtlich. Es genügt eine einzige Zeile um ein Scriptable zu erzeugen. Die Liste erkennt den gleichen Typ nicht, das kann aber die Dictionary. Das ist das tolle, ich gehe mal davon aus du einige Items stackable machen möchtest. Sonst würde dir echt eine Liste reichen. Im ip (also InventoryItem ip ) ist bereits dein Item mit der Anzahl zusammengefasst. Key und Value , richtig. Eigentlich ist nichts gegen die Namespace einzuwenden....ich hasse das nur! Zu Beginner Zeiten raffte ich nicht warum ich da nicht zugreifen konnte. Darum die Ablehnung, und ästhetisch siehts auch nicht aus. haha...wie große das You Tube Fenster geworden ist!
  15. Vorsicht , hier schreibt dir eine Laie. Möchte Dir aber trotzdem gerne helfen. Es findet sich bestimmt noch jemanden der mich ergänzt. Ich würde ein Inventar immer mit Dictionaries und Scriptable Objects lösen. Sagen Dir die beiden Dinge was? Deine Drag und Drop seperat machen. Deine Slots kannst du aujedenfall mit Arrays machen. Willst du wirklich Namespace nutzen? z.B. private Dictionary<InventoryItem, int> items = new DictionaryItem,int>(); public Image[] ItemSlots public bool AddItem(InventoryItem ip) { // Ist das Item noch nicht im Inventar enthalten? if (!items.Containskey(ip)) { { if (items.count < ItemSlots.Length) //Prüft ob noch Slots verfügbar sind items.Add(ip,1); // Legt das Item neu an } else return false; } else items[ip]++; // Wenn Item schon in einer deiner Slots, dann zähle Item um 1 hoch. (Wenn deine Items stackable sein sollen) // Hier deine Slots durchlaufen return true; }
×
×
  • Create New...