Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-07-2004, 22:01   #1 (permalink)
antiheld2000
Gast
 
Beiträge: n/a
dyn. slidebar an mouse position

hidiho,

ich bastel gerade einen dynamisch gefüllten slidebar. d.h. ein container mc, der mit div. anderen mcs gefüllt wird, die an das rechte ende rangesetzt werden.
nun möchte ich, dass dieses container mc sich nach der mouseposition richtet, d.h. geht die maus nach rechts, dann soll der slidebar nach links wandern, so dass ich das ganz rechte element auf die bühne bekomme und umgekehrt.
da das ganze allerdings durch den dynamischen teil mal so oder mal so breit sein kann (kleiner als die bühne, grösser als die bühne) und ich das script vor lauter code schon wieder nich sehen kann, komm ich nicht weiter
mein ansatz ist folgender:
PHP-Code:
    container._x container._width/2*-1;
    
this[obj].onEnterFrame = function() {
        
trace(container._x);
        
movx = (container._x-_xmouse)/speed;
        if (
_xmouse>770 && container._x<container._width) {
            
container._x -= movx;
        }
        if (
_xmouse<10 && container._x>=container._width/2*-1) {
            
container._x -= movx;
        }
}; 
aber das haut natürlich nicht hin. und ich check das grad nicht. kann mir jmd. helfen!? biddä!
  Mit Zitat antworten
Alt 02-07-2004, 00:12   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Lightbulb

servus... hatte da auch mal was gebastelt...

PHP-Code:
function controlmynavi(){
    
this.onEnterFrame = function(){
        if ((
bg.hitTest(_root._xmouse_root._ymouse)) && navimoving == true) { 
            
mynavi._x += int(((_root._xmouse*(-1)*((mynavi._width)/bg._width-1)) - (mynavi._x)+80)/8);
        } else {
            
mynavi._x += int((0-mynavi._x)/16);
        }
    }

kurz zur erklärung.... die function wird sofort gestartet... sie überprüft ob die maus über dem mc bg ist und wenn ja dann richtet sich der mc mynavi entsprechend deiner frage nach der maus aus.... wenn die maus wieder den mc bg verlässt, wandert der mc mynavi wieder zur x position 0 zurück....

denke das reicht für dich zum umzuscripten und anpassen an deine bedürfnisse....
habe diese function übrigens hier angewendet (achtung: ist noch eine pre beta bei der es hier nur um das beispiel der navigation in abhängikeit zur xmouse position geht): http://www.rotelaterne-chinalounge.de/preview/

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 02-07-2004, 07:28   #3 (permalink)
antiheld2000
Gast
 
Beiträge: n/a
vielen dank soweit. klappt bei mir noch nicht so ganz... er richtet den mc noch nicht mittig aus und ich kann nicht bis ans rechte ende scrollen...
sag doch mal bitte zu meinem besseren verständnis, wo bei dir die zahlen 80, 16, 8 herkommen.
  Mit Zitat antworten
Alt 02-07-2004, 09:14   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
die 80 ist ein wert der eigentlich nur für mich und in diesem fall für eine besondere postionierung gedacht ist... kannste weglassen bzw würde ich mal mit rumspielen mit dem wert...

die 8 und die 16 sind die geschwindigkeiten mit denen sich die navi bewegt.... diese werte kannste ebenfalls deinen bedürnissen anpassen....

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 02-07-2004, 09:24   #5 (permalink)
antiheld2000
Gast
 
Beiträge: n/a
vielen dank. ist zwar nicht so viel anders, aber bei mir sieht das ganze nun so aus und klappt wunderbar. danke.
PHP-Code:
    this[obj].onEnterFrame = function() {
        if (
this._width>770) {
            if ((
bg.hitTest(_xmouse_ymouse))) {
                
this._x += int(((_xmouse*(-1)*((this._width*1.25)/bg._width-1))-(this._x)+80)/8);
            } else {
                
this._x += int((0-this._x)/16);
            }
        } else {
            
this._x 270-(this._width/2);
        }
    }; 
  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 07:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele