top und bottom mit AS setzen

  • Hallo,

    ich weiss leider nicht mehr weiter :cry:

    Problem: Es fährt ein Button an der linken Seite meiner Webseite rauf und runter wenn ich mit der Maus darüber gehe, wenn ich klicke fährt ein Menü raus.

    Das script sieht so aus:

    menu_mc.onPress = function () {
    this.signal = !this.signal;
    if (this.signal) {
    this.onEnterFrame = function() {
    with (this) {


    _x += _xmouse / 0;
    _y += _ymouse / 2 - 2;


    if (signal) {
    prevFrame();
    } else {
    nextFrame();
    if (_currentFrame == _totalFrames) {
    delete onEnterFrame;
    }
    }
    }
    };
    }
    };

    ist es möglich, den Platz einzugrenzen in dem sich der Button auf
    der y-Achse bewegt, so dass er nicht weiter fährt als angegeben ?

    Über Hilfe würde ich mich sehr freuen :D

  • Du willst den y wert angeben wie weit sich dein Button bewegen darf? Dann leg dafür ne Variable an und frage ab wo sich dein Button befinden, ist die grenze nicht erreicht, dann darf er sich noch bewegen? etwa so:

    Code
    var ypos:Number = 350; // Der button darf bis einem Y Wert von 350 sich bewegen
    ... dein Code ...
    if(this._y < ypos) {
    
    
     _x += _xmouse / 0;
    _y += _ymouse / 2 - 2; 
    }


    Sobald der Y Wert von 350 überschritten wird, bewegt sich der Button auch nicht mehr :).

    Hoffe ich hab dich richtig verstanden.

    MfG

  • du brauchst vermutlich sogar 2 variablen...

    eine für den oberen wert und eine für den unteren...
    also eigentlich nur des von mülla bischen verändert
    mit ner 2ten if-prüfung.

    nur so am rande... des _x könntest dir doch eigentlich sparen, oder ?
    da verändert sich ja nix, des bleibt ja an der gleichen stelle...

  • richtig, für top wäre noch ne zweite variable bzw, man könnte auch einfach den Y-Wert Null nehmen, dann wäre es die obere Kante von der Bühne.

    das x könntest du dir sparen, stimme ich driver zu :).

    sähe dann evtl. so aus:

    Code
    var ytop:Number = 0;
    var ybottom:Number = 350;
    // code...
    if ((this._y < ybottom) && (this._y > ytop)) {
        _y += _ymouse / 2 - 2;
    }
    //code

    :) MfG

  • warum nimmst du eigentlich ymouse /2 ?

    so kannst du doch den button nie erreichen.
    denn wenn die mouse an die stelle geht, weicht der button zurück...
    (außer du bist auf position 0)

    ich würd da gleich y = ymouse machen...