Jump to content
Unity Insider Forum

Hermetes

Members
  • Content count

    137
  • Joined

  • Last visited

  • Days Won

    1

Hermetes last won the day on May 5 2016

Hermetes had the most liked content!

Community Reputation

4 Neutral

About Hermetes

  • Rank
    Advanced Member

Recent Profile Visitors

983 profile views
  1. Hermetes

    Danke

    Da möchte ich auch gleich mal Danke sagen! Kann auch Wort zu Wort bestätigen was SyntaxTalksToMe sagte. Vermutlich wäre ich ohne diese Hilfe vom programmieren abgesprungen. Es gab zu keinem Tread das ich schrieb, Zweifel ob eine Antwort kommt. int Verlässlichkeit = 100 var Vertrauen = Verlässlichkeit;
  2. Hermetes

    Animator

    Aufräumen, genau! Ahja, dann muss ich das über Sub States machen. Danke! Bist ja richtig fleißig hier!
  3. Hermetes

    Animator

    Hallo! Was ist wenn ich soviel Animationen habe, das mir das Spinnennetz artige Gestrüp mir zuviel wird? Nun könnte ich Blend Tree´s oder Layers verwenden. Doch meine Animationen möchte ich alle mit bool´s und triggern steuern. Da scheidet aber Blend Tree´s schon mal aus ? Und wie muss ich scripten wenn ich Layers benutze? Da konnte ich leider nirgendwo was finden. Viele Grüße
  4. Hermetes

    for loop - Einheiten (Player) auf Startplätze

    Hm, ja es potenziert sich immer mit den Elementen der Liste. Dann versuche ich erstmal mit 1x Start Einheit und instanziiere es später. Bis wir auf eine andere Möglichkeit kommen.
  5. Hermetes

    for loop - Einheiten (Player) auf Startplätze

    Hi & Danke für die Antwort! Die Players List ist eine Liste wieviel Spieler teilnehmen. Also Player1 ist der menschliche Spieler und die AI wäre Player2 zum Beispiel. !?
  6. Hallo zusammen! Komme leider nicht auf eine Lösung Ich wollte zu Spielbeginn meine Starteinheiten auf ihren Startpositionen zuweisen. In meinem Code werden 3 Starteinheiten plötzlich zu 9 Einheiten. Obwohl ich doch mit "i" angegeben habe , das sich nur die Startplätze erhöhen soll. Nun habe ich jeweils 3 Einheiten auf einem Startplatz.(!?) 6 Startplätze (Tranform Array) 3 Einheiten zum Start (GameObject List) Danke euch schon mal für´s nachdenken! foreach (var p in Players) { //Geht die Liste StartingUnits von Players durch foreach (var u in p.StartingUnits) { // u = Einheiten // go = Instantiate Player // benutzt count for (int i = 0; i < p.StartingUnits.Count; i++) { var go = (GameObject)GameObject.Instantiate(u, p.Location[i].transform.position, p.Location[i].transform.rotation); //Figur1 // go wird zu player var player = go.AddComponent<Player>(); Debug.Log("RTSManager Variable u" + u);
  7. Hi! Wenn ich ein Prefab in der Szene (Runtime aus) anklicke, dann bekomme ich einen orangen farbigen Rand um das Prefab angezeigt. Wie bekomme ich das mit einem Script im Runtime hin? Viele Grüße
  8. Hermetes

    Scripting einfacher - Schleife?

    Hi und Danke für eure Antworten! Ist auf public da dieses Script die Architektur der GUI ist. Aber da ich nur die Syntax eines Tutorials abschreibe, weiss ich nicht wie es auch anders möglich ist. Außerdem lasse ich alles zunächst mal auf public. In meinen Anfängen hatte ich mal eine ganze Woche damit verbracht einem anderen Skript ein private bool zu setzen ^^. Daher würde mir auch kein [System.Serializeable] weiter helfen (oder?). Oder hätte es auch einen Nutzen wenn ich meine Variablen auf public hätte + [System.Seri....] Weiss nicht ob es nur dafür da eine private Variable im Inspector sichtbar zu machen. Jetzt stehe ich da, und bin ratlos was ich denn jetzt als Parameter angeben muss. Muss ich trotz Schleife und Liste alle Variablen ansprechen? @Mazy Ich werds irgendwann mal bereuen es nicht so strukturiert gemacht zu haben! Wie geht man so eine Struktur an? Mit oder ohne abstrakte Klassen? public List<Image> profilImages = new List<Image>(); public void SetProfilPics() { foreach (var picture in profilImages) { picture.color = Color.white; } } public void ClearProfilImages() { foreach (Image picture in profilImages) { picture.color = Color.clear; } } void Start() { ClearLines(); ClearPic(); //ClearGameObjects(); ClearSiegeImages(); ClearPlayerPropertiesImages(); ClearJobs(); ClearIntJobs(); ClearButton(); ClearProfilImages(); }
  9. Hermetes

    Scripting einfacher - Schleife?

    Mein Script wird immer länger und ich frage mich ob sich das nicht einfacher und übersichtlicher mit einer Schleife gestalten lässt. public Image ProfilePic; public Image Background; public Image LivebarPic; public Image HealthbarPic; public Image StaminabgPic; public Image StaminabarPic; public Image wishtable; public Image HintergrundImage; public void SetPic(Sprite pic1,Sprite pic2,Sprite pic3,Sprite pic4, Sprite pic5,Sprite pic6,Sprite pic7,Sprite pic11) { ProfilePic.sprite = pic1; ProfilePic.color = Color.white; Background.sprite = pic2; Background.color = Color.white; LivebarPic.sprite = pic3; LivebarPic.color = Color.white; HealthbarPic.sprite = pic4; HealthbarPic.color = Color.white; StaminabgPic.sprite = pic5; StaminabgPic.color = Color.white; StaminabarPic.sprite = pic6; StaminabarPic.color = Color.white; wishtable.sprite = pic7; wishtable.color = Color.white; HintergrundImage.sprite = pic11; HintergrundImage.color = Color.white; } public void ClearPic() { ProfilePic.color = Color.clear; Background.color = Color.clear; LivebarPic.color = Color.clear; HealthbarPic.color = Color.clear; StaminabgPic.color = Color.clear; StaminabarPic.color = Color.clear; wishtable.color = Color.clear; HintergrundImage.color = Color.clear; }
  10. Hermetes

    shortcut ? hotkey ? Wie nennt man das.....

    Endlich mal wieder Zeit gefunden, doch was mache ich nur falsch??? Ich konnte die angeklickten Figuren in eine Liste setzten. Doch leider kann ich die Figuren Gruppierung nicht wieder aufrufen. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShortcutUnits : Interaction { public bool selected = false; public override void Select () { selected = true; } public override void Deselect() { selected = false; } public List<GameObject> SwapList1; GameObject[] selectedgameobjects; // Use this for initialization void Start () { selectedgameobjects = GameObject.FindGameObjectsWithTag("Player"); } void Update () { if (selected && Input.GetKeyDown(KeyCode.LeftControl)) { Debug.Log("Strg is pressed"); if (Input.GetKeyDown(KeyCode.I)) { if (SwapList1.Count != 0) { SwapList1.Clear(); } else{ if(SwapList1.Count == 0) { foreach (GameObject obj in selectedgameobjects) { SwapList1.Add(obj); } } } } } if (Input.GetKey(KeyCode.I)) { foreach(GameObject obj in SwapList1) { selected = true; } } }
  11. Hermetes

    shortcut ? hotkey ? Wie nennt man das.....

    Vielen Dank euch beiden für eure Hilfe! Wollte nur kurz Bescheid geben das ich da gerade dran bin. Und weil ich unbedingt das Thema Listen und Schleifen vertiefen möchte, gehe ich nach dem ersten Konzept. Auf dem Weg im Auto, ist mir auch eingefallen das ich für alle Tasten eine Liste brauche. Bin schon gut voran gekommen, allerdings auch auf ein paar Probleme. Ich versuchs die erstmal eigenständig zu lösen und lass es euch dann wissen ob es geklappt hat!
  12. ....und vor allem wie kann man ein Gameobjekt im Runtime einer Taste zuweisen, wie z.B. indem man STrg + 1 drückt ? Um dieses Objekt, oder auch mehrere Objekte, dann mit der Taste 1 abrufen kann. Grüße
  13. Hermetes

    NavMeshAgent List Waypoints ablaufen

    Achja natürlich! Da hatte ich den ganzen Tag lang noch nichts gegessen. Also läuft jetzt! Man kann das noch richtig gut ausbauen. Den Pfad auch anzeigen lassen mit dem line.renderer z.B.,von deinem letztem Beitrag. Auch wird es später in einer anderen Varianten in meinem Spiel eine große Bedeutung bekommen. So, wieder einiges gelernt, und gefühlt um einen Level gestiegen! Danke Zer0
  14. Hermetes

    NavMeshAgent List Waypoints ablaufen

    Danke für deine Unterstützung ZerO Ich habe es weitesgehends geschafft! Es sieht jetzt so aus: Markiere Pos1 - Figur bleibt stehen. Markiere Pos2 - Figur bewegt sich auf Pos 1 Markiere Pos3 - Figur bewegt sich auf Pos 2 usw. Wieso ignoriert es die letzte Position? Und wie bekomme ich ein Loop hin? using System.Collections; using System.Collections.Generic; using UnityEngine; public class RightClickNavigation : Interaction { public float RelaxDistance = 0.05f; private UnityEngine.AI.NavMeshAgent nav; public Vector3 target = Vector3.zero; public bool selected = false; public bool isActive = false; private Animator anim; //-------------Start AttackMove------------------------- public bool isAttack; public float shotRange; public Vector3 enemy = Vector3.zero; //--------------Start Waypoints------------------------- public List<Vector3>points ; int destPoint = 0; //public Transform[] points; //private List<Vector3>points; public override void Select () { selected = true; } public override void Deselect() { selected = false; } public void SendToTarget() { nav.SetDestination (target); nav.Resume(); isActive = true; } void Start () { nav = GetComponent<UnityEngine.AI.NavMeshAgent>(); anim = GetComponent<Animator>(); } // Update is called once per frame void Update () { if (selected && Input.GetMouseButtonDown (1)){ var tempTarget = RtsManager.Current.ScreeenPointToMapPosition(Input.mousePosition); if (tempTarget.HasValue){ target = tempTarget.Value; SendToTarget(); anim.SetBool("Move",true); } } if (isActive && Vector3.Distance (target, transform.position) < RelaxDistance){ nav.Stop(); isActive = false; anim.SetBool("Move",false); } //-------------------Waypoints-------------------------------------------------------- if (selected && Input.GetKey(KeyCode.LeftShift) && Input.GetMouseButton(0)) { var temp = RtsManager.Current.ScreeenPointToMapPosition(Input.mousePosition); //points.Add(temppoints); // error CS0266: Cannot implicitly convert type `UnityEngine.Vector3?' // to `UnityEngine.Vector3'. An explicit conversion exists (are you missing a cast?) if (temp.HasValue) { points.Add(temp.Value); //points.Add(temp.......geht nicht.error CS1502: The best overloaded method match for //`System.Collections.Generic.List<UnityEngine.Vector3>.Add(UnityEngine.Vector3)' has some invalid arguments ); //points = temp.Value; GoNextWaypoint(); } } } public void GoNextWaypoint() { //if (points.Count == 0) // erstmal deaktiviert // return; // deaktiviert nav.destination = points[destPoint]; destPoint = (destPoint + 1) % points.Count; isActive = true; } }
  15. Hermetes

    NavMeshAgent List Waypoints ablaufen

    Tschuldigung hatte waypoint antatt points drinne. Dann ist es kein float sondern ein Transform, das den Fehler cannot convert..... , auslöst. nav.destination = points[destPoint];
×