Jump to content
Unity Insider Forum
  • 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

Nyral

Members
  • Content count

    11
  • Joined

  • Last visited

Community Reputation

1 Neutral

About Nyral

  • Rank
    Member
  • Birthday 07/08/1987

Profile Information

  • Gender
    Male

Recent Profile Visitors

1,071 profile views
  1. Du könntest das mit dem Laufen ähnlich wie mit dem Menü lösen. Wenn das Menü geöffnet ist lässt du einen Flag setzen. In deinem Movement Script fragst du dann den Flag ab. Wenn dieser gesetzt ist, dann braucht er den Raycast nicht senden und das laufen beginnen. Ist dieser nicht gesetzt dann wird der Raycast gesendet und der Char bewegt sich.
  2. Sry für den weiteren Doppelpost aber das Thema kann nun geschlossen werden. Habe das Problem nun gelöst. Habe für den Upload des Scores die Hilfsklasse "WWWForm" von Unity verwendet die die Datenübertragung zu einem Server managed. So sieht nun das überarbeitete Unity script aus: IEnumerator SetScore(string _name, int _score, string _setScorePhpURL) { //Set the upload flag hsCurrentHighscoreConnection = HIGHSCORECONNECTION.HC_UPLOADINGSCORE; //Create the hash string strHash = MD5Sum(_name + _score + strSecretKey); //Helper class upload to server WWWForm wwwForm = new WWWForm(); wwwForm.AddField("name", _name); wwwForm.AddField("score", _score); wwwForm.AddField("hash", strHash); WWW wwwHighscoreServer = new WWW(strSetScoreURL, wwwForm); //Set the score yield return wwwHighscoreServer; //Check the score upload if (wwwHighscoreServer.error != null) { hsCurrentHighscoreConnection = HIGHSCORECONNECTION.HC_ERROR; Debug.LogError("Upload highscore error: " + wwwHighscoreServer.error); } else { //Set upload is done flag hsCurrentHighscoreConnection = HIGHSCORECONNECTION.HC_UPLOADISDONE; wwwHighscoreServer.Dispose(); } } Das php file habe ich wie folgt angepasst: <?php $isDebug = 0; // 1 = Debug output is on; 0 = Debug output is off $db = mysql_connect('host', 'database', 'pw') or die ('Could not connect: ' . mysql_error()); mysql_select_db('table') or die ('Could not select database'); $name = mysql_real_escape_string($_POST['name'], $db); $score = mysql_real_escape_string($_POST['score'], $db); $hash = $_GET['hash']; $secretKey = "secret"; $real_hash = md5($name . $score . $secretKey); if($real_hash == $hash) { $query = "insert into table values (null, '$name', '$score');"; $result = mysql_query($query) or die ('Query failed: ' . mysql_error()); if($isDebug == 1) echo "Insert user score is done."; } if($isDebug == 1) echo "Ende set user score script"; ?> So funktioniert der Score upload sowohl daheim im W-Lan sowie mit dem Handynetz.
  3. Du könntest ein Flag setzen lassen wenn du in einem Untermenü bist. Und das Hauptmenü darf nur aufgerufen werden wenn du "ESC" drückst und das Flag nicht gesetzt ist. So in der Art: public class ToggleMenu : MonoBehaviour { public GameObject gMainMenu = null; public GameObject gSubMenu = null; bool bIsMainMenuOpen = false; // Use this for initialization void Start () { gMainMenu.SetActive(false); gSubMenu.SetActive(false); } // Update is called once per frame void Update () { if (Input.GetKeyDown(KeyCode.Escape) && !bIsMainMenuOpen) { gMainMenu.SetActive(!gMainMenu.activeSelf); } else if (Input.GetKeyDown(KeyCode.Escape) && bIsMainMenuOpen) { gSubMenu.SetActive(!gSubMenu.activeSelf); gMainMenu.SetActive(!gMainMenu.activeSelf); bIsMainMenuOpen = false; } } public void ToggleMenuState(GameObject _menu) { _menu.SetActive(!_menu.activeSelf); } public void SetSubMenuFlag(bool _state) { bIsMainMenuOpen = _state; } } Wenn du ESC drückst und das Flag nicht gesetzt ist wird das Hauptmenü angeschalten bei nochmaligem drücken wird es wieder deaktiviert. Die Methoden "ToggleMenuState" gibst du zweimal den OnClick Listener des entsprechenden Untermenu Buttons. Als Parameter einfach einmal das Untermenu Gameobjekt und einmal das Haupmenu Gameobject geben. Ausserdem gibst du dem OnClick Listener noch die Methode "SetSubMenuFlag" als Parameter dann den Hacken auswählen. Die Methode "ToggleMenuState" macht nichts anderes als das Gameobjekt das als Parameter übergeben wurde an bzw. auszuschalten. Dazu Toggelt es den bool wert den "gameobjekt.activeSelf" zurückgibt. Und mit der Methode "SetSubMenuFlag" kannst du das Submenu flag setzen. Wenn nun das entsprechende Untermenü angezeigt wird und du nun nochmal "ESC" drückst landest du wieder im Hauptmenü. Dies wird mit dem zweiten if Statment realisiert. Hier wird nichts anders gemacht als nochmal überprüft ob du die "ESC" Taste gedrückt hast und ob das Submenü flag gesetzt wurde. Wenn beides eintrifft dann wird das Untermenu/Hauptmenü wieder ausgeschalten /eingeschalten bzw. der "gameobjekt.activeSelf" wert getoggelt. Sollte nun das Untermenü noch zusätzlich z.B über einen "Back" Button verlassen werden dann brauchst du nichts anderes zu machen als dem OnClick Listener zweimal die Methode "ToggleMenuState" mit den ensprechenden Menüpunkten und die Methode "SetSubMenuFlag" ohne ausgewählten Haken geben. Hoffe du hast es verstaden wie ich es meine. Edit: Habe das ganze noch etwas erweitert damit mehrere Untermenüs gehen und nicht nur eins. Hier das Unitypackage dafür: MainMenu.rar
  4. Keiner eine Idee woran das liegen könnte?
  5. Raumschiff Steuerung RTS-Game

    Hallo, hab mal was zusammen gebastelt, wie du es brauchst. Wird die rechte Maustaste gedrückt, wird ein Raycast von der Camera zu der Mauszeiger Position im World space gesendet. Dann speichere ich diese Position in einer Vector3 Variable. Zu diesem Wert bewegt sich dann das Raumschiff. Dabei bleibt der y Wert immer gleich. Der Flieger fliegt immer auf der gleichen Ebene. Drückt man rechts Strg, lässt sich die y Ebene durch bewegen der Maus in der Y Achse verändern. Lässt sich zwar noch um einiges verbessern aber damit der Jäger durch den Raum fliegt sollte es reichen. public class MoveTo : MonoBehaviour { public float speed = 10f; Plane groundPlane = new Plane(Vector3.up, Vector3.zero); Vector3 ClickPos = Vector3.zero; bool bIsMouseClick = false; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); float rayDistance; if (groundPlane.Raycast(ray, out rayDistance)) { ClickPos = ray.GetPoint(rayDistance); ClickPos.y = transform.position.y; } bIsMouseClick = true; } if (Input.GetKey(KeyCode.LeftControl) && bIsMouseClick) { ClickPos.y += Input.GetAxis("Mouse Y"); } transform.position = Vector3.MoveTowards(transform.position, ClickPos, speed * Time.deltaTime); if (Vector3.Distance(transform.position, ClickPos) <= 0.1f) bIsMouseClick = false; } } Viel Spass
  6. Danke für den link werde es mir mal anschauen. Das ist ja das komische das es funktioniert wenn ich mit dem Handy per W-Lan am Router angemeldet bin. Es aber nicht mehr geht wenn ich über das Handynetz mich verbinde. MFG Nyral
  7. Der vServer ist bei 1Blu gehostet oder was meinst du mit wo genau? Wie könnte ich das eintragen von Daten in die Datenbank sicherer machen? Könntest du mir da bitte ein Stichwort bzw. ein Beispiel geben, damit ich mir das mal anschauen kann. MFG Nyral
  8. Hallo, hoffe ihr könnt mir bei meinem Problem helfen. Bin gerade dabei ein kleines Android Spiel zu entwickeln. Das Spiel beinhaltet auch einen online Highscore. Im großen und ganzen läuft alles schon so wie es soll. Zumindest wenn ich es am PC oder Handy im eigenen W-Lan teste. Hier funktioniert der Upload und Download des Highscores einwandfrei. Wenn ich jetzt aber versuche einen neuen Highscore über das Handynetz auf meinen vServer hochzuladen bekomme ich immer den Fehler: Java.io.EOF Exception. Das Herunterladen des Highscores funktioniert dabei einwandfrei. Habe leider keine Ahnung woran das liegen könnte, da es ja über W-Lan funktioniert. Als Datenbank verwende ich MySQL die auf meinem vServer läuft. Habe mich nach diesem Tutorial für den online Highscore gehalten: Server side Highscore Mein php-file das dass eintragen in die Datenbank übernimmt: <?php $isDebug = 0; // 1 = Debug output is on; 0 = Debug output is off $db = mysql_connect('host', 'database', 'pw') or die ('Could not connect: ' . mysql_error()); mysql_select_db('table') or die ('Could not select database'); $name = mysql_real_escape_string($_GET['name'], $db); $score = mysql_real_escape_string($_GET['score'], $db); $hash = $_GET['hash']; $secretKey = "secret"; $real_hash = md5($name . $score . $secretKey); if($real_hash == $hash) { $query = "insert into table values (null, '$name', '$score');"; $result = mysql_query($query) or die ('Query failed: ' . mysql_error()); if($isDebug == 1) echo "Insert user score is done."; } if($isDebug == 1) echo "Ende set user score script"; ?> Und hier die Upload Methode in Unity: IEnumerator SetScore(string _name, int _score, string _setScorePhpURL) { //Set the upload flag hsCurrentHighscoreConnection = HIGHSCORECONNECTION.HC_UPLOADINGSCORE; //Create the hash string strHash = MD5Sum(_name + _score + strSecretKey); //Create the url string strSetScoreURL = _setScorePhpURL + "name=" + WWW.EscapeURL(_name) + "&score=" + _score + "&hash=" + strHash; WWW wwwHighscoreServer = new WWW(strSetScoreURL); //Set the score yield return wwwHighscoreServer; //Check the score upload if (wwwHighscoreServer.error != null) { hsCurrentHighscoreConnection = HIGHSCORECONNECTION.HC_ERROR; Debug.LogError("Upload highscore error: " + wwwHighscoreServer.error); } else { //Set upload is done flag hsCurrentHighscoreConnection = HIGHSCORECONNECTION.HC_UPLOADISDONE; } } Schon mal danke im voraus für eure Hilfe. MFG Nyral
  9. Game Challenge #3

    Mal eine Frage: In dem Thread "Über die Make a Game Challenge" steht, man soll die Größe 600x450px verwenden. Gilt das auch fÜr unser Frogger Spiel? Frage deshalb weil dort auch folgender Satz steht: und hier im ersten Post Etwas verwirrend mit den verschiedenen Regeln. Lg Sascha
  10. Game Challenge #3

    Mal eine frage ist es erlaubt das Game mit eigenen Ideen zu erweitern? Lg Sascha
  11. Game Challenge #3

    Hallo, wir sind ein zwei Mann Team und würden uns auch gerne an der Challenge versuchen. Bitte eintragen. Danke Lg Sascha
×