| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Zürich
Beiträge: 62
| Abbremsfunktion für Zahl
Hallo allerseits! Ich bin bei meinem kleinen Projekt schon einiges weitergekommen, dank der Hilfe von einigen von euch!! Nun ein neue Problemstellung: Ich habe eine Textbox mit einer Zahl, die kann ich per Tastendruck (Space, A-Taste) grösser oder kleiner werden lassen. Wenn ich die Tasten jedoch loslasse ist sofort fertig! ich möchte eine Art "Beschleunigungs, bzw. Abbremsfunktion" haben. Bei längerem Drücken der Taste soll die Zahl zunehmend schneller verändert werden, und bei loslassen verlangsamen bis zum Stillstand¨ Hier mal das File mit den bis jetzt erzielten Erfolgen Ich hoffe jemand hat eine geniale Idee!! Danke für euren Einsatz!! Gruss Patrick |
| | |
| | #2 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
Hab ich diesen Thread nicht schonmal irgendwo gesehen? Bitte nicht doppelt posten. Wenn keiner Antwortet, vielleicht erstmal versuchen, deine Fragestellung ggf. zu ändern oder zu konkretisieren. Hast du dich schonmal mit Gravitation/Beschleunigung oder Easing beschäftigt? Such mal danach, da gibt es einiges zu. Dein Problem ist ganz ähnlich gelagert. Außerdem ist es vielleicht sinnvoll, wenn du deine Ansätze zeigst und womit du ein konkretes Problem hast, dann kann man dir leichter helfen. Die Leute hier haben nämlich kaum Lust dazu, jedem einfach fertigen Code zu geben, die ihn dann nicht verstehen (wollen). Sorry für den moralischen, aber du bist nicht der erste ![]() Grüße Sascha
__________________ 12:15, press return |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Zürich
Beiträge: 62
|
Hallo! Ist in Ordnung, ich bin ja auch neu hier! Ich habe das mit dem Abbremsen bei Objekten hingekriegt, aber bei den Zahlen ist's etwas komplexer... Ich versuche mich heute Nacht nochmals daran, und komme hoffentlich weiter...(Werde deine Tipps berücksichtigen) Ich will übrigens den Code verstehen, deshalb befasse ich mich mit Flash! Gruss Patrick |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Zürich
Beiträge: 62
|
Also, ich habe auf mehreren Tutorials nachgeschaut, und es so zusammengebastelt: //Folgend die Initialisierung maxGeschwindigkeit = 10; //maximale Geschwindigkeit des Objektes tempoH = 0; //Geschwindigkeit beim Start tempoV = 0; //Folgend die Bewegung des Objektes _x += tempoH; _y += tempoV; //Folgend die Beschleunigung if(Key.isDown(Key.Right) && TempoH < maxGeschwindigkeit) { tempoH += 1; //Dazu kommt noch die Rotation, ist hier jedoch nicht wichtig //Folgend das Abbremsen if(tempoH<0.0) { tempoH += 0.5; Natürlich kommen dann alle Richtungen hinzu. Das obige habe ich verstanden, und es funktioniert sogar. Ich wollte eigentlich das gleiche System für die Zahl übernehmen, aber wenn ich das versuche, wird die Zahl, welche die Höhe angibt, gar nicht mehr angezeigt..?? Ich versuche nun diese Stichworte von dir anzuschauen, und mich ein bisschen einzuarbeiten. Danke jedenfalls für die Hilfe. P.S: Ich habe wirklich sehr wenig Erfahrung in Flash, aber ich möchte es umbedingt lernen, und ich werde mich auch bemühen hier im Forum dem nachzukommen was von mir als Neuling erwartet wird. |
| | |
| | #6 (permalink) |
| _//\\#//\\_ Registriert seit: Jan 2003
Beiträge: 7.060
| PHP-Code: |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Zürich
Beiträge: 62
|
Danke für eure Hilfe! Ich bin nun doch etwas weiter gekommen. Ich habe folgendes gemacht: speed = 0; //Anfangswert maxSpeed = 10; //maximale Zählgeschwindigkeit zahl += speed; //Zahl wird um "speed" erhöht //Zahl erhöhen if(Key.isDown(Key.SPACE) && speed<maxSpeed){ speed += 0.5; } //Abbremsen if(speed>0.0) { speed -= 0.25; } Eigentlich klappt das ja auch, aber ich habe noch einige Bugs drin, welche ich nicht beheben kann. Ich habe 6000 als obere Grenze für die Zahl festgelegt, und zwar so: if(Key.isDown(Key.SPACE) && Zahl<6000){ zahl = zahl+10; } Das hat auch funktioniert, jeoch seit ich das obige implementiert habe, zählt er einfach weiter!!! Wieso das????? Es ist vermutlich etwas simples, was ich jedoch noch nicht herausgefunden habe! Dazu kommt, dass die Zahl Stellen nach dem Komma hat, obwohl ich bei der Eruierung der Zahl die Funktion. Math.round(Math.random()*6000); benutzt habe. Ich habe dann versucht die Beschleunigung bzw. das Abbremsen der Zahl durch ganze Zahlen zu ersetzen, dies hat jedoch nichts gebracht. Wenn jemand einen Rat hat, dann wäre ich dankbar! Gruss Patrick |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Sep 2004 Ort: Zürich
Beiträge: 62
|
Juhu! Ein Problem hab ich rausbekommen. Er zählt nun wieder nur bis 6000, das ist super! Ich habe einfach bei: Key.isDown(Key.SPACE) && speed<maxSpeed && zahl<6000) hinzugefügt, und schon läufts. Ist eigentlich logisch, aber ich bin echt nicht drauf gekommen. Dafür ist die Freude nun umso grösser!! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |