• Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

Hrungdak

Members
  • Content count

    1,138
  • Joined

  • Last visited

  • Days Won

    47

Hrungdak last won the day on January 11

Hrungdak had the most liked content!

Community Reputation

348 Excellent

About Hrungdak

  • Rank
    Code digger

Profile Information

  • Gender
    Male

Recent Profile Visitors

2,478 profile views
  1. Was klappt denn nicht? Gibt es eine Fehlermeldung? Was hast du verändert? Wenn das der Originalcode ist, sollte in dieser Zeile schon mal eine Fehlermeldung kommen: dbcon = new SqliteConnection(conn; Schließende Klammer fehlt.
  2. Willkommen im Club.
  3. Tolle Sache. Ich würde gern etwas über die Technik erfahren. Welche Tools benutzt du? Wie sieht der Workflow aus?
  4. Das mit dem Unity-Button muss ich gleich mal probieren: Animator Krasse Sache. Das neue Forum macht mir zunehmend Spaß. Vielen Dank für euere Arbeit.
  5. Herzlich willkommen im Forum.
  6. Bei den Links ging es mir nur darum, zu zeigen, dass mit C# auf mySql zugegriffen werden kann. Die DB-Schicht kann damit sehr gut gekapselt werden. Ãœber die weitere Architektur habe ich mir keine Gedanken gemacht.
  7. Herzlich willkommen und viel Spaß hier.
  8. Trotzdem kann man für eine DB-Zugriffs-Schicht natürlich auf PHP verzichten. Mit c# mysql findest du auf Google genug Beispiele, z.B. das hier.
  9. Ehrlich gesagt würde ich einfach mit 3D-Modellen und einer isometrischen Kamera arbeiten. Gleicher Effekt, weniger Stress. Das mit Turm und Monster angreifen: Das eigene Monster hat eine Attack Range. Wenn in dieser Attack Range ein Turm sein sollte, wird der eben angegriffen. Solange ein Monster in der Attackrange steht, wird dieses vor dem Turm angegriffen.
  10. So Aussagen finde ich ein wenig zu pauschal. GameObject.Find() in der Awake würde mich jetzt nicht gleich umbringen. In der Update dagegen geht es natürlich gar nicht, weil viel zu langsam.
  11. Auf #UnityTips wird das Scene-Fusion gerade heftig beworben. Vielleicht wäre das auch was.
  12. Wo kommt die Exception? Bei der ersten Zeile? Kannst du die Clone() Methode dann hier zeigen?
  13. Bau mal noch eine Prüfung mit ein: ItemBrand newItem = ItemController.CreateItem(1, 1); GameObject item = Instantiate(itemPrefab, npcObject.transform.position, npcObject.transform.rotation); Item myComponent = item.GetComponent<Item>(); if (myComponent == null) { Debug.LogError("myComponent ist null!"); return; } myComponent.SetItem(newItem); Wenn myComponent null ist, dann hat das Prefab die Komponente Item nicht. Dementsprechend kannst du auch nicht die Methode SetItem (eine Methode, die du geschrieben hast?) aufrufen.
  14. Das, was du brauchst, nennt man Deep Copy. Der Hintergrund: Datentypen in C# teilen sich in zwei Kategorien: Value- und Referenz-Typen. Value-Typen haben einfache Datentypen wie int, string, float usw. Wenn du eine Funktion aufrufst int a = 2; int b = 3; int result = myClass.Add(a, ; dann wird an MyClass.Add der Wert von a und b übergeben. In dem Fall also 2 und 3, der Aufruf wäre identisch zu int result = myClass.Add(2, 3); Auch alle struct-Typen sind Value-Typen. Im Gegensatz dazu stehen die Klassen. Wenn du eine Klasse an eine Methode übergibst, dann übergibst du eine Referenz auf diese Klasse. In der Methode arbeitest du also nicht mit einem extra für diese Methode erzeugten neuen Objekt, sondern mit dem Original-Objekt. Beispiel: class MyRefClass { int a; int b; MyRefClass(int newA, int newB) { a = newA; b = newB; } } MyRefClass test = new MyRefClass(2, 3); MyWorkingClass.DoSomethingWith(test); In der letzten Zeile wird die Methode MyWorkingClass.DoSomethingWith aufgerufen und ihr wird die Referenz auf das Objekt test übergeben. Wenn in der Methode DoSomethingWith z.B. folgender Befehl steht: test.a = 8; test.b = 0; dann sind in der originalen Klasse test die Werte verändert, nicht nur in der Methode. Die Eigenschaften von Referenz-Objekten sind z.B., dass unabhängig von der Menge an Daten in der Klasse immer nur ein "Zeiger" auf das Objekt übergeben wird und dass die Daten dieser Objekte dann entsprechend leicht manipuliert werden können. Du musst auch aufpassen, wenn du einen struct-Typ einfach in eine class umwandelst. Das hat gravierende Nebeneffekte, die nicht so ohne weiteres ersichtlich sind. Nämlich überall da, wo diese Klasse als Parameter verwendet wurde.
  15. Deine Zeile State state = new State(states[i].Zug, states[i].Parent, states[i].playerID, states[i].Value, states[i].Feld, states[i].wFiguren, states[i].sFiguren); erzeugt zwar einen neuen State, aber wie das im Konstruktor umgesetzt wird, sehe ich nicht. Wenn da so was wie public State(Zug zug, Parent parent, ...) { this.Zug = zug; this.Parent = parent; .... } steht, erzeugst du keine Kopien, sondern arbeitest auf der Original-Instanz von z.B. Zug und Parent.