Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-09-2004, 15:05   #1 (permalink)
RS4
Neuer User
 
Benutzerbild von RS4
 
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
Angehängte Dateien
Dateityp: zip Zahl.zip (5,9 KB, 7x aufgerufen)
RS4 ist offline   Mit Zitat antworten
Alt 02-09-2004, 15:52   #2 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
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
ludabruda ist offline   Mit Zitat antworten
Alt 02-09-2004, 16:03   #3 (permalink)
RS4
Neuer User
 
Benutzerbild von RS4
 
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
RS4 ist offline   Mit Zitat antworten
Alt 02-09-2004, 16:05   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
so, wie hast du es denn mit Objekten gemacht?

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 02-09-2004, 20:53   #5 (permalink)
RS4
Neuer User
 
Benutzerbild von RS4
 
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.
RS4 ist offline   Mit Zitat antworten
Alt 02-09-2004, 21:17   #6 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
PHP-Code:
speed=0
ok
=false
this
.onEnterFrame=function()
{
    if(
ok==true)
    {
        
speed ++
    }else{
        
speed>speed --:mc._x=speed;
    }
    
    
mc._x +=speed
    txt
.text=Math.round(mc._x)
}
_root.onMouseDown=function()
{
    
ok=true
}
_root.onMouseUp=function()
{
    
ok=false

warrantmaster ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:06   #7 (permalink)
RS4
Neuer User
 
Benutzerbild von RS4
 
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
RS4 ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:16   #8 (permalink)
RS4
Neuer User
 
Benutzerbild von RS4
 
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!!
RS4 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele