Jump to content
Unity Insider Forum

Rasmusen

Members
  • Content Count

    24
  • Joined

  • Last visited

Everything posted by Rasmusen

  1. Gibts eine Anleitung wie ich mit der Session ID in Unity umgehe. Meine PHP Scripte identifizieren bei jeder Aktion ja bereits per Session ID. Ich könnte ja beim Userlogin die Session ID an Unity sagen und mittels dieser dann die SQL Updates machen aus UNity raus an die PHP Scripte. Also alles per Session ID und nicht per Username identifizieren. Versteh ich das richtig
  2. Oh jetzt blick ich nicht mehr so richtig durch. Ich dachte eigentlich das das alles ohne Session abläuft . Also User Logt sich ein und Unity sendet an ein PHP WWW Script Username und Passwort . Wenn user Vorhanden und Passwort richtig gibt das PHP ein OK aus und z.B. die UserID . In Unity dann wird immer wenn der User z.B. eine Aktion macht , das Ergebniss der Aktion mit UserID an das PHP www Script gesendet, dort ausgelesen und in die datenbank geschrieben was der USer gemacht hat. So habe ich das gedacht oder liege ich da jetzt völlig falsch ?
  3. Hi, ich habe eine Webseite mit Userlogin und MySQL Datenbank (Hostet by Strato) . Nun möchte ich den Usern auch die Möglichkeit bieten eine Handy App zu nutzen. Ich möchte das unbedingt in Unity machen. Ist das möglich ? Ist ein userlogin auf diese Art möglich und wenn der User in der App Daten verändert das diese dann in die MySQL Datenbank geladen werden ? Ich weis das ein direkt Zugriff ja nicht möglich ist und ich vermutlich per Ajax die Daten dann aktuallisieren muss also von der App zum Webserver und von da dann in die Datenbank. Aber meine Grundsätzliche Frage ist ob das alles so möglich ist. Ich habe ja im Asset Store verschiedene MySQL und PHP Login Scripts gefunden, sogar kostenlose . Mit meiner Unity Erfahrung die sich in Grenzen hält (1 Spiel im PlayStore "Flappy Rentier" und 3 noch nicht vollendeten Games) denke ich mal das ich das hinbekomme. Aber ich würde mich freuen wenn Ihr Hinweise für mich habt , nicht das ich irgendwann merke das irgendwas so nicht umsetzbar ist wie ich es will.
  4. Nein. also was ich hinbekomme ist das Münzen einzelnd generiert werden und dann zu einem devinierten Punkt fliegen. Aber ich hätte es so gerne über das Particle System gelöst. Ich habe leider noch keine Anleitung gefunden.
  5. habs damit nicht hinbekommen aber ich werd noch weiter Versuchen.
  6. Hi, ich suche eine Anleitung oder Hilfe für ein Partikel Magnet. Beim töten eines Gegners dropt dieser Gegner Gold. Diesen Effekt habe ich mit einer Gold Coin Explusion gelöst. Ich möchte nun das nach 0,5 Sekunden die Coins von dem Coin Meter angezogen und aufgesaugt werden. Das kennen wir ja aus tausenden anderen Games. Weis jemand wie ich dem Coin Meter ein Magnet zuweise wo die Münzen einsammelt ? Oder wie ich das löse .
  7. Ich erzeuge in einem Script so das das aus den Prefabs in das Canvas initiert wird. Nur leider landet das Element immer ganz unten in der Canvas Hierarchie. Somit sind einige Elemente dieses Canvas Objectes IMMER im Vordergrund. Ich hab das im GameMode mal getestet und das Element dann nach Oben in der Hierarchie geschoben. Dann waren die Elemente korrekt verdeckt. Also nun suche ich die Lösung wie ich beim Erzeugen des Elements im Canvas auch gleich mit gebe das das Teil ganz oben in der Hierarchie landen soll. Wie kann ich das machen. Hier der Code der das Prefab ins Canvas läd : void spawnEnemy() { GameObject child = (GameObject)GameObject.Instantiate(enemies, Spawnpoin.transform.position, Spawnpoin.transform.rotation); child.transform.SetParent(loadCanvas.transform, true); child.transform.localScale = new Vector3(60, 60, 80); CancelInvoke(); }
  8. Ach doch eins hab ich noch nicht verstanden in dem Zusammenhang. Was bedeutet Static ? Also Public Static. Weil statisch ist der Wert ja nicht , ich kann Ihn ja andauernd ändern. Deshalb versteh ich die Logik dahinter nicht.
  9. Ui... das war aber jetzt Nice erklärt. Sogar so das ich es endlich mal begriffen habe. Und natürlich funzt jetzt auch das was ich wollte. Echt 1000 Dank dafür.
  10. Leider verstehe ich es nicht . Ich habe so viele Tutorials durch und weis eigentlich auch wie ich Werte aus anderen Scripten benutze und Werte weitergebe. Public und dann das Script anbinden. Aber genau das geht ja nicht bei Instanzierten Objecten. Dann werden nämlich Anbindungen von anderen Componenten nicht übernommen. Ich komme also nicht weiter . Folgendes : Ich habe einen Enemy . Der Enemy hat den Wert Leben = 10 . Der Enemy wird durch Attacken destroyed. Dann wird ein neuer Enemy Instanziert . Aber folgendes soll passieren. Vor dem Zerstören soll +1 an das GamePlay Script gesendet werden . EnemyCount +1 so zusagen. Dieser Wert soll dann bei einem neu Erzeugten Enemy folgendes machen : Leben * EnemyCount. Der EnemyCount sitz ja aber in einem anderen Script. Ich habe das Problem das ich nicht weis wie ich das machen soll weil ich das GamePlay Script ja nicht per Drag and Drop an das Enemy Game Object im UnityPanel einbinden kann. Das ist nach dem Initiate ja wieder leer. Klar , das ist eine Noobfrage , aber ich weis auch nicht wie ich das bei Google vernünftig eingeben soll das ich eine Antwort erhalte. Da kommen immer Mega Umfangreiche und komplizierte Seiten. Kann mir das irgendjemand erklären so das ich das für immer verstehe. Weil ich beiss mir hier seit Stunden die Zähne dran aus.
  11. Ich bin voll happy wegen eurer Hilfe . Aber ich bin ja noch lange nicht fertig . Ich muss dann ja später das alles auch wieder so setzten das Background wieder läuft und Enemy und Player . Und da wirds dann wieder spannend. Aber weis jemand ein Tutorial wo genau drin steht wie man einen bool Status bei bestimmten Ereignissen an ein anderes Script sendet und dort den Wert weiter verarbeitet. Weil das Abfragen des bool Wertes ist ja der Nachteil das das andauernd abgefragt werden muss und nicht erst wenn der Wert sich geändert hat. Es macht glaub mehr Sinn die Änderung des Bools an die betroffenen Scripte auch bekannt zu geben. Aber ich weis nicht wie ich danach googlen soll.
  12. Also habs jetzt doch hinbekommen. ich zeig nun das Background Script : using UnityEngine; using System.Collections; public class BackgroundScroll : MonoBehaviour { public float speed = 0; public BackgroundScroll current; public float tileSize = 0; float pos = 0; Renderer my_renderer; // Use this for initialization void Start () { current = this; } // Update is called once per frame void Update(){ if (enemymove.canmove == true) { pos += speed; if (pos < -tileSize) pos += tileSize; current.transform.position = new Vector3 (pos, current.transform.position.y, current.transform.position.z); //my_renderer.material.mainTextureOffset = new Vector2 (pos, 0); } else { } } } } else { ist leer weil ja nichts anderes passieren soll. Wenn das Spiel nun wieder weiter geht werde ich den Wert einfach wieder auf True zurück setzten.
  13. Ok ich schau mir das mal heute Abend an. Ich werde wohl einige Tutorials dazu machen müssen wie das mit dem GetComponent<anderesScript> zu lösen ist. Aber wenigstens stoppen schonmal die beiden Collider beim aufeinander Treffen. Dafür bin ich echt schon dankbar.
  14. Super Tip , das ging : Der Bool = True und wird auf False gesetzt wenn die Trigger Colliden . Aber ich weis nicht wie ich das an das Background Script übermittle . Also so das ich im Move.Script den True oder False Wert auch weitergebe an das Background Scroll Script. Sorry , das mag eine Noobfrage sein , aber ich weis echt nicht wie ich Werte oder Variablen an andere Scripte weitergebe.
  15. Hi, Ich habe ein Script an meinen Enemy gebunden welches auch teilweise funktioniert. Der Enemy läuft auf einen unbewegten Spieler zu und wenn er dessen Colider trifft dann soll er anhalten. Der OnTrigger funktioniert. Ich habs getestet mit Destroy. Aber leider hält der Enemy nicht an sondern läuft weiter. Hier das Script using UnityEngine; using System.Collections; public class enemymove : MonoBehaviour { public float speed = -3f; public float speedstop = 0f; private Rigidbody2D myBody; // Use this for initialization void Awake () { myBody = GetComponent<Rigidbody2D> (); } // Update is called once per frame void Update () { myBody.velocity = new Vector2 (speed, 0); } void OnTriggerEnter2D(Collider2D otherObj) { if (otherObj.gameObject.tag == "Skeleton") { // GetComponent<ParticleSystem> ().Play (); myBody.velocity = new Vector2 (speedstop, 0); } } } Es gibt aber noch ein Rätsel . Mein Background Scrolling Script sollte auch anhalten wenn diese beiden sich treffen. Aber da habe ich gar keine Ahnung weil das Background Script ist ja ein völlig anderes Script an mehrere Background angebunden (wegen Paralax Scrolling) wie ich das untereinander vermittle. Hier mein Background Scroll Script : using UnityEngine; using System.Collections; public class BackgroundScroll : MonoBehaviour { public float speed = 0; public BackgroundScroll current; public float tileSize = 0; float pos = 0; Renderer my_renderer; // Use this for initialization void Start () { current = this; } // Update is called once per frame void Update(){ pos += speed; if (pos < -tileSize) pos += tileSize; current.transform.position = new Vector3 (pos, current.transform.position.y, current.transform.position.z); //my_renderer.material.mainTextureOffset = new Vector2 (pos, 0); } } Es wäre echt total gut wenn mir jemand helfen kann. Ich muss unbedingt den Enemy anhalten und wenn möglich auch den Background.
  16. Ok hab nun ein bischen dran rum probiert und die Anhaltspunkte sind schon mal gut und damit kann ich auch weiter machen. Bei dem Scriptcode Malzbie verhält es sich so das der Fuchs den Berghoch läuft und auch korrekt rotiert. Aber sobald die Z Achse in den Minus Bereich geht macht der Fuchs dauerhaft so Kopf nach oben Bewegungen und Stuttert vor sich hin. Also Berg runter läuft er dann nicht mehr korrekt . Ich werd aber die Sache nun noch in eine Schleife packen damit ich das besser Kontrollieren kann. Jedenfalls hat das einen rießen Lerneffekt und danke euch. Achso und Malzbie ich hab dein Script auf Rigidbody2d geändert ... hoffentlich hatte ich das richtig verstanden : float myZ = Mathf.Clamp(GetComponent<Rigidbody2D>().transform.eulerAngles.z, -20f, 60f); GetComponent<Rigidbody2D>().transform.eulerAngles = new Vector3(GetComponent<Rigidbody2D>().transform.eulerAngles.x, GetComponent<Rigidbody2D>().transform.eulerAngles.y, myZ);
  17. Oh halt , war wohl das falsche Script wo ich es implementiert habe. Ich teste noch aber in dem PlayerMovement Script scheint es wohl zu funktionieren.
  18. Ok , aber es zeigt keine Wirkung obwohl kein Error vorliegt. Folgendes Script habe ich auf dem Player liegen : using UnityEngine; using UnityEngine.UI; using System.Collections; public class PlayerJump : MonoBehaviour { public GameObject turretRotateObj; public float maxTowerRotation = 130.0f; public float angle = 45.0f; [serializeField] private AudioClip jumpClip; private float jumpForce = 8f, forwardForce = 0f; private Rigidbody2D myBody; private bool canJump; private Button jumpBtn; // Use this for initialization void Awake () { myBody = GetComponent<Rigidbody2D>(); jumpBtn = GameObject.Find("Jump Button").GetComponent<Button>(); ; jumpBtn.onClick.AddListener(() => Jump()); } // Update is called once per frame void Update () { float myZ = Mathf.Clamp(transform.eulerAngles.z, -1f, 1f); transform.eulerAngles = new Vector3(transform.eulerAngles.x, transform.eulerAngles.y, myZ); if (Mathf.Abs(myBody.velocity.y) <= 0) { canJump = true; } } void OnCollisionEnter2D(Collision2D target) { if (target.gameObject.tag == "Obstacle") { canJump = true; } } public void Jump() { if (canJump) { if (transform.position.y > -2.8) { canJump = false; } if (transform.position.x < 0) { forwardForce = 0.7f; } else { forwardForce = 0.7f; } myBody.velocity = new Vector2(forwardForce, jumpForce); } } }
  19. OK danke das hört sich gut an , aber wie weise ich das meinem vorhandenen Rigidbody2D zu ? Weil mit dem Code den Du mir gepostet hast besteht ja noch kein zusammenhang mit meinem RigidBody2D. Ja mag sein das das eine Noobfrage ist aber ich habe noch nicht sehr viel erfahrung wie ich gerade merke. Scheinbar ist bringt es nicht viel das ich dauernd Tutorials mache weil ich Grundfunktionen nicht verstehe. Das ist echt voll Schade .
  20. Ja also bisher dreht er sich gemäß dem Ground auch korrekt . Also wenn der kleine Fuchs Bergauf läuft dreht er sich so das vordere und hintere Beinchen den Boden korrekt berühren. Es wurde ein Rigidbody 2D und ein Poly Collider 2D hinzugefügt. Und ein Script welches den Fuchs nach vorne bewegt.
  21. Hallo , ich mache gerade ein Jump and Run , aber ich habe ein Problem . Wenn mein kleiner Fuchs beim laufen von einer Klippe fällt, dann rotiert er und landet je nach tiefe auf dem Rücken. Ich kann aber die Z Axe nicht freezen weil er schon auch ein bischen wenigstens nach oben und unten laufen sollte auf dem Ground . Damit meine ich das er wenn er Bergauf geht dann auch ruhig sich dem Boden entsprechend rotieren sollte. Aber er sollte einfach limitiert rotieren dürfen. Hat da jemand ein Codebeispiel für mich ?
  22. Ich habe mir Kurse bei Udemy gekauft . Diese sind inzwischen extrem Preiswert. Früher haben die mehrere Hundert euro gekostet aber inzwischen sind die besten Kurse dort für 20 Euro drin. Das lohnt sich immer auch wenn Du bereits gut C# kannst.
  23. Hi Leute , ich sehe den Wald vor lauter Bäumen nicht. Zu viele Drag and Drop Tutorials und ich weis gar nicht welchen Ansatz ich brauche. Ich habe ein 2D Endless Jump and Run und möchte aus 3 Felder innerhalb der MainCamera (UI) Gegenstände direkt in das laufende Spiel ziehen und dort fallen lassen so das mein Männchen z.B. drüber stolpern kann. Kann mir jemand ein gutes Tutorial dazu geben. Oder andere Tipps. Alles was hilfreich ist - gerne auch Asset Store .
×
×
  • Create New...