Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-10-2003, 13:56   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 49
rotation bei mouseover anhalten??

Hallo.

Ich habe ein Movieclip (HAUPT), welches nochmals ein Movieclip (button)enthält. Es handelt sich dabei um ein einen runden button.

Das Haupt habe ich im Hautpfilm plaziert und mit folgendem Skript hinterlegt:

ActionSkript:
onClipEvent (enterFrame)
{this._x = stage_width;
this._y = stage_width;
this._rotation += 0.5;
}

FUnktioniert nu auch alles schön. Der button dreht sich schön usw.

Jetzt möchte ich aber, das wenn ich mit der Maus auf den Button fahre, dieser solange stehen bleibt. Sprich sich nicht mehr dreht. Erst wenn ich wieder mit der Maus herunterbin, soll dieser sich weiterdrehen. Und zwar da beginnend, wo ich ihn angehalten hatte.

Geht das?
Also mit welchem Befehl kann ich ein skript solange auf "pause" setzen?
__________________
Vielen Dank schon einmal im Vorraus

MfG
Chicco
Chicco2 ist offline   Mit Zitat antworten
Alt 29-10-2003, 14:02   #2 (permalink)
Trainman
 
Benutzerbild von Hamster2k
 
Registriert seit: Sep 2001
Ort: Wien, Österreich
Beiträge: 1.324
Zuerst würde ich mal die Setzung der x und y Koordinaten nicht jedes Frame machen, sie werden ja immer nur auf den gleichen Wert gesetzt.
Also zB:
ActionScript:
  1. onClipEvent(load) {
  2. this._x = Stage.width;
  3. this._y = Stage.height;
  4. }
  5. onClipEvent(enterFrame) {
  6. this._rotation += 0.5;
  7. }
Um dann die Rotation zu stoppen, einfach eine if Abfrage einbaun die eine var überprüft die je nach dem ob die Maus drüber is oder nicht vom Button gesetzt wird. Also auf den Button:
ActionScript:
  1. on(rollOver) {
  2. this._parent.mOver = true;
  3. }
  4. on(rollOut) {
  5. this._parent.mOver = false;
  6. }
und dann natürlich das enterFrame Skript anpassen:
ActionScript:
  1. onClipEvent(enterFrame) {
  2. if(this.mOver==true) {
  3. this._rotation += 0.5;
  4. }
  5. }
MfG
__________________
So much to learn and so little time.

Ich liebe dieses Forum!!

Geändert von Hamster2k (29-10-2003 um 14:04 Uhr)
Hamster2k ist offline   Mit Zitat antworten
Alt 29-10-2003, 14:45   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 49
Ja, daran hatte ich auch schon gedacht. Nur habe ich das Problem eben, das sich der Button erst anfängt zu drehen, wenn ich das erste mal mit der Maus drüber bin. Der Button soll sich aber schon beim laden des Hauptfilm gleich drehen und dann immer stehen bleiben, wenn ich mit der Maus drüber bin usw.

Also quasi genau so wie es jetzt ist nur das der Button sich schon bereits dreht.

Versteht Ihr wie ich es meine?

Nochmal eine weitere Abfrage einbauen?

Wie sollte diese dann aussehen?
ich könnte auch den Wert this._parent.mOver = False;" gleich irgendwo am Anfang des Hauptfilms schon mal setzen. Aber das klappt nicht ganz, da ich die If abfrage auf den instanznamen vom MC beziehen muss. Also bei mir musste es so aussehen:

onClipEvent(enterFrame) {
if(this.button.mOver==true) {
this._rotation += 0.5;
}
}


Denn mein MC ist mit dem Instanznamen "button" eingebaut worden.
__________________
Vielen Dank schon einmal im Vorraus

MfG
Chicco
Chicco2 ist offline   Mit Zitat antworten
Alt 29-10-2003, 14:53   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 49


Problem gelöst. Eigentlich ganz logisch.

Habe noch vor den On (RollOver) usw.

ein OnClipEvent (load) {this._parent.mOver = false;} gelegt.

Funktioniert nun super.

Ähmmm, aber eine Frage hätte ich trotzdem noch. Ist es möglich meine Rotation etwas feiner zu machen ? Es ruckelt ein wenig. Super wäre es, wenn es schon gleichmäßig (fließend) sich drehen würde. Gibt es da einen Zusatzparamenter evtl.

Wenn möglich sollte das bisherige Skirpt so bleiben. Denn ich möchte nicht ein komplett neues Skript nun wieder verwenden, da ich gerade mal froh bin, das jetzt so alles läuft.

Aber trotz allem vielen vielen Dank Für Eure Hilfe!! Besonderen Dank an Hamster2k!!!
__________________
Vielen Dank schon einmal im Vorraus

MfG
Chicco
Chicco2 ist offline   Mit Zitat antworten
Alt 29-10-2003, 15:28   #5 (permalink)
Trainman
 
Benutzerbild von Hamster2k
 
Registriert seit: Sep 2001
Ort: Wien, Österreich
Beiträge: 1.324
Du kannst die Rotation jetzt noch feiner machen, indem du die fps des Films rauf-, und jeden Rotationsschritt(in deinem Bsp. 0.5) runtersetzt.
MfG
__________________
So much to learn and so little time.

Ich liebe dieses Forum!!
Hamster2k ist offline   Mit Zitat antworten
Alt 29-10-2003, 15:47   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 49
Geht leider nicht. Denn diese swf-Datei gehört zu einer übergeordneten Datei. Die laufen alle mit 12 Frames. Kann nicht mittendrin plötzlich eins auf 25 Frames z.b. stellen. Leider.

Eine andere Möglichkeit gibt es nicht?

Denn sont müsste ich ca. 10 verschiedene SWF-Dateien dessen Framerate abändern und dadurch natütlich auch immer die Tweens anpassen...... Nee, das wäre zuviel Arbeit wiederrum....
__________________
Vielen Dank schon einmal im Vorraus

MfG
Chicco
Chicco2 ist offline   Mit Zitat antworten
Alt 29-10-2003, 16:57   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Mit setInterval kannst Mc's unabhängig von der Framerate des Films drehen lassen!!
kleines bsp!
ActionScript:
  1. function drehen(mc) {
  2.     mc._rotation += 1;
  3. }
  4. varID = setInterval(drehen, 40, eck);
  5. this.eck.onRollOver = function() {
  6.     clearInterval(varID);
  7. };
  8. this.eck.onRollOut = function() {
  9.     varID = setInterval(drehen, 40, eck);
  10. };
Angehängte Dateien
Dateityp: zip dreh_int.zip (2,9 KB, 16x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake 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:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele