Jaison Geschrieben 17. April 2013 Melden Share Geschrieben 17. April 2013 Hi leute, Ich stehe grade vor der Frage wie man am Besten ein solches System erstellen kann. Eine Idee und die Vorstellung der Umsetzung habe ich, lediglich die Umsetzung in Script macht net das was es soll. Und zwar soll es so laufen das wenn ich z.B mit einem Fahrzeug in einem Trigger fahre, ein Symbol angezeigt wird(das ist nicht das Problem,nebensächlich), wenn ich das mit einer Taste Kombiniere, also Trigger + Taste, soll der Tankvorgang gestartet werden. Möglichst mit einer Vari zum einstellen der Geschwindigkeit. Dieser Vorgang sollte bis zu einem bestimmten Füllstand laufen und entweder Spätestens bei Vollem tank enden,oder über die selbe Taste unterbrochen werden. Hat jmd Tipps dazu. Bevor jmd Fragt: Nein ich will keinen (vorgekauten)Code,lediglich Tipps dazu. Nehme ihn aber trotzdem gerne an. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 18. April 2013 Melden Share Geschrieben 18. April 2013 Pseudocode als Tipp: Update: Wenn IstInBetankZone und TankenTasteGedrückt und Tank nicht voll dann { starte Tankvorgang } Wenn IstAmTanken dann { Erhöhe Tankfüllmenge um TankdurchsatzProSekunde * DeltaTime Wenn Tank ist voll dann { Beende Tankvorgang } } Wenn IstAmTanken und TankenTaste Losgelassen { Beende Tankvorgang } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jaison Geschrieben 18. April 2013 Autor Melden Share Geschrieben 18. April 2013 Jo danke das hilft mir erstmal auf die Sprünge. Abgesehen vom letzten teil, meinte ich das erneute Drücken der taste, aber das ist ja nicht direct relevant ob nun loslassen oder drücken. Es is ja auch lediglich ein Tipp,wie das aussehen könnte. Ich setze das mal um,und wenn was is meld ich mich nochmal. MFG Jaison Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jaison Geschrieben 18. April 2013 Autor Melden Share Geschrieben 18. April 2013 So ich hab mir das grad mal anhand deines Tipps zusammen getippt. public var fuel : float = 1000.0; public var InZone : boolean = false; public var TankdurchsatzProSekunde : float = 10.0; public var fuelmax : float = 1000.0; function OnTriggerEnter (other : Collider) { InZone = true; } function Tankvorgang() { fuel + TankdurchsatzProSekunde * DeltaTime; } function Update () { if (Input.GetButtonDown ("Tanken") && InZone == true && Tankvorgang == false && (fuel <= fuelmax) { Tankvorgang(); } else fuel == fuelmax { Tankvorgang = false; } } Aber irgendwas läuft da falsch? Assets/Resources/Meshes/HelicopterArtwork/Scripts/Helicopter/HelicopterController.js(131,9): BCE0044: expecting EOF, found 'else'. Assets/Resources/Meshes/HelicopterArtwork/Scripts/Helicopter/HelicopterController.js(128,17): BCE0044: expecting ), found '{'. Als basis dient der HelicopterController.js aus dem FPS kit: http://armedunity.com/index.php?/files/file/13-fps-kit-2/ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 18. April 2013 Melden Share Geschrieben 18. April 2013 Folgende Punkte sind mir aufgefallen: In OnTriggerEnter wird nicht geprüft ob der Trigger der korrekte Auftank Trigger ist, dass könntest du zB anhand des Tags vom collider.gameObject prüfen. Es gibt kein OnTriggerLeave OnTriggerExit der Tankvorgang erhöhrt nicht die fuel Variable sondern addiert nur etwas ohne etwas mit dem Ergebniss zu machen, versuche += anstatt + DeltaTime gibt es nicht, du suchst vermutlich Time.deltaTime Input.GetButtonDown ist nur 1 Frame lang true wenn du eine taste drückst, du suchst Input.GetButton. Bei bools in Bedingungen kannst du gut und gerne auf == true und == false verzichten: bla == true ist das selbe wie bla und bla == false ist das selbe wie !bla Beim if fehlt eine schließende Klammer. Beim else fehlt die öffnende und schließende Klammer Du versuchst false auf Tankvorgang zuzuweisen, Tankvorgang ist aber eine Methode und kann mit etwas aufgerufen werden, aber nicht etwas zugewiesen bekommen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
AgentCodeMonk Geschrieben 18. April 2013 Melden Share Geschrieben 18. April 2013 ...nur damit er nicht nach dem falschen Begriff sucht: "OnTriggerExit", nicht "OnTriggerLeave"... alle anderen wissen aber was gemeint ist Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 18. April 2013 Melden Share Geschrieben 18. April 2013 Habs mal angepasst Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jaison Geschrieben 18. April 2013 Autor Melden Share Geschrieben 18. April 2013 ...nur damit er nicht nach dem falschen Begriff sucht: "OnTriggerExit", nicht "OnTriggerLeave"... alle anderen wissen aber was gemeint ist Ich weiß selber das es des net gibt. So dermaßen aufm Kopf gefallen bin ich noch net . Hab nur grad eine art Burndown,vom ganzen Moddeling. PS:Is Net bös gemeint! Habe es schon soweit klar bekommen, das Betanken funzt nun,nur geht er noch über den maximal wert hinaus. Aber das hab ich auch gleich. Dann gehts an den Nächsten Punkt des Systems. Werde dann wenn ich alles soweit klar habe den Code Posten, vtl hat jmd dann noch Tipps zu Verbesserung,zumindest sollte es dann auch jmd der sowas auch ggf haben möchte helfen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.