Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-03-2007, 14:09   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 18
Scrollen eines MC bei MouseOver

Hallo zusammen,

das Thema wurde schon ein paarmal behandelt, aber so ganz schlau bin aus den Antworten nicht geworden - bin halt noch ein Anfänger. Mein Problem:

Ich scrolle einen MC mit folgendem Script, das funktioniert auch tadellos ABER das Scrollen ist sehr ruckelig und findet auch nur bei Mausbewegung statt. Ich würde das Script nun gerne so umschreiben, das die Scrollfunktion die gesamt Zeit während des MouseOvers stattfindet und bei verlassen des MC_Frame diese Funktion beendet wird. Was kann man da machen?

PHP-Code:
MC_frame.onRollOver = function(){

xmouse _ymouse - (widthmovie 2);

speed = (xmouse) / scrollspeed;


if (
speed 0) {
    
speed = -(speed);
}


if (
xmouse 0) {
    
xphoto xphoto speed;
}

if (
xmouse 0  ) {
    
xphoto xphoto speed;
}


if (
xphoto 0) {
    
xphoto 0;
}

if (
xphoto < -(widthphoto widthmovie)) {
    
xphoto = -(widthphoto widthmovie);
}
}
MC_frame.onRollOut = function() {
    
delete this.onEnterFrame;
};

setProperty("photo"_yxphoto); 
Danke für Eure Hilfe!

Geändert von felixatboros (13-03-2007 um 14:18 Uhr)
felixatboros ist offline   Mit Zitat antworten
Alt 13-03-2007, 14:56   #2 (permalink)
new user
 
Benutzerbild von PinkDragon
 
Registriert seit: Oct 2005
Beiträge: 140
Irgendwie ist der Code unvollständig... Du löscht zwar ein onEnterFrame, erstellst es aber nie (muss wohl irgendwo ganz am Anfange in der onRollOver-Funktion stehen)

Wenn das ganze ruckelt, kann das auch an der Bildrate liegen. Diese einfach mal auf einen Wert von ~30-50 setzen, dann sollte es flüssig laufen.
Fürs scrollen, probiers mal so:
PHP-Code:
MC_frame.onRollOver = function(){
  
this.xspeed this._xmouse 5//speed entweder vorher definieren,
  
this.yspeed this._ymouse 5//wenn es eine vorbestimmte Bewegung sein soll
  
this.onEnterFrame = function(){
    
this.xspeed this._xmouse 5//oder jedes Frame, wenn sich die Bewegungsrichtung
    
this.yspeed this._ymouse 5//ändern soll
    
this._x += this.xspeed;
    
this._y += this.yspeed;
  }
}
MC_frame.onRollOut = function(){
  
delete this.onEnterFrame;

Das ist so ein grober code, der dir das Grundgerüst zeigt. Konnte deinen code leider nicht so ganz einbauen, da ich daraus nicht sehr schlau wurde... (irgendwie setzt du die Geschwindigkeit abhängig von der Mausposition und dem Scrollspeed aber ein paar seltsame Abfragen kann ich im Kopf einfach nicht nachvollziehen. Egal, solange es funktioniert )
__________________
Die Summe aller menschlichen Intelligenz ist eine Konstante.
Das Problem ist das Bevölkerungswachtum...

Gratiswebserver mit MySQL-Datenbank und vieles mehr dank www.lima-city.de!
PinkDragon ist offline   Mit Zitat antworten
Alt 13-03-2007, 15:18   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 18
Vielen Dank für die schnelle Antwort! Die fehlenden Angaben befinden sich ein Frame zuvor. Eigentlich eine simple Geschichte (glaube ich jedenfalls), aber das Scrollen läuft alles andere als smooth (Framerate ist schon bei 30). Ich vermute, es liegt an dem RollOver, der die ganze Aktion nur einmal ablaufen lässt statt eine ständige Bewegung hervorzurufen ...?

Der fehlenden Code Schnipsel:

PHP-Code:
xphoto 0
widthmovie 270
scrollspeed 5;
widthphoto 530
Hier liegt die fla bereit zum reinchauen, wenn jemand mag.

http://www.fragile01.de/bildscroller.fla
felixatboros ist offline   Mit Zitat antworten
Alt 13-03-2007, 16:29   #4 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
Warum benutzt du nur den halben code von PinkDragon?
Den function onEnter part hast du komplett wegelassen.

Abgesehen davon bin ich der Meinung das setProperty nicht mehr benutzt werden sollte (ist in AS3 soweit ich weiss sogar gekickt worde)
__________________
Fuchtelworld
X-Tender 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 06:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele