Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2005, 10:30   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
Horizontal - Slider mit Maussteuerung

Zitat:
_root.onEnterFrame = function () {
if (_xmouse < 350) slider._x += (375-_xmouse)*0.05;
if (_xmouse > 400) slider._x += (375-_xmouse)*0.05;

slider_r._x = slider._x+slider._width;
slider_l._x = slider._x-slider._width;

if (slider._x > 750+slider._width*0.5) {
slider._name = "temp";
slider_l._name = "slider";
temp._name = "slider_l";
}
if (slider._x < 0-slider._width*0.5){
slider._name = "temp";
slider_r._name = "slider";
temp._name = "slider_r";
}
}

movieclip.prototype.blend = function (obj,faktor){
if (obj.hitTest(_root._xmouse, _root._ymouse, true)) {
obj._alpha = obj._alpha+(100-obj._alpha)/faktor;
}else{
obj._alpha = obj._alpha+(50-obj._alpha)/faktor;
}
}
Kann evtl. jemand das Script erklären ? Also , was was bedeutet ? Sollte ja schnell zu machen sein :-) Wäre echt super!

Die Flashfile gibts hier:

http://www.flashstar.de/tutlist/redi...sdiascroll.zip

Greez
Sui
Suicider84 ist offline   Mit Zitat antworten
Alt 08-11-2005, 11:11   #2 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
PHP-Code:
//Jeden Frame... zum Animieren
_root.onEnterFrame = function () {
    
//In der Mitte ist ein schmaler Streifen (350...400px) wo der Slider stillsteht
    
if (_xmouse 350slider._x += (375-_xmouse)*0.05//Wenn Die maus links von diesem Streifen ist, wird nach links gescrollt
    
if (_xmouse 400slider._x += (375-_xmouse)*0.05//Same mit rechts
    //Je weiter die Maus von der Mitte (375px) entfernt ist, desto schneller wird gescrollt
    

    //Die Positionen der anderen Slider werden an der Position des "Hauptsliders" ausgerichtet
    
slider_r._x slider._x+slider._width//"slider_r" ist direkt rechts von "slider"
    
slider_l._x slider._x-slider._width//"slider_l" ist direkt links von "slider"
    
    //Wenn der Hauptslider rechts aus dem Bild geschoben ist.
    
if (slider._x 750+slider._width*0.5) { //Wenn die mitte des Sliders um die hälfte von dessen breite rechts aus dem Rand geschoben wird. (imho etwas kompliziert gelöst)
        //Hauptslider und linker Slider werden vertauscht
        
slider._name "temp";
        
slider_l._name "slider";
        
temp._name "slider_l";
        
//"slider" ist ab jetzt "slider_l" und "slider_l" ist "slider"
    
}
    
//Wenn der Hauptslider links aus dem Bild geschiben ist.
    
if (slider._x 0-slider._width*0.5){
        
//Hauptslider und rechter Slider werden vertauscht.
        
slider._name "temp";
        
slider_r._name "slider";
        
temp._name "slider_r";
    }

__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 08-11-2005, 11:15   #3 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
ich denke das man ein paar sachen einfacher bzw. schöner lösen können hätte.

z.B. die blend Funktion als prototype hat mich etwas verwirrt.

dann, statt
mc._name = "mc2";
ginge hier auch
mc2 = mc;

usw....
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 08-11-2005, 11:29   #4 (permalink)
Kopfrauch...
 
Benutzerbild von naila
 
Registriert seit: Aug 2004
Beiträge: 111
wow, sauber erklärt!
Danke!
naila ist offline   Mit Zitat antworten
Alt 08-11-2005, 13:51   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
Also ich hab jetzt folgendes Ergebnis:
Doch leider läuft der Slider nicht ununterbrochen. Liegt das daran, dass ich zu wenig thumbs in den Slidergruppen habe ?

http://www.moneyceleb.com/bewerbung.rar

Oder kann man das per Actionscript regeln ?

Gruß
Sui
Suicider84 ist offline   Mit Zitat antworten
Alt 08-11-2005, 14:08   #6 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Ich glaube es liegt daran dass du das prinzip nicht ganz verstanden hast...

slider, slider_r und slider_l sind INstenzen des gleichen symbols!

wenn die unterschiedlich aussehen ist es kein wunder wenn beim vertauschen sich auch die bilder vertauschen!

also:
alle 3 instanzen (MCs) müssen komplett gleich sein!

btw. es ginge mit 2 auch, der slider is etwas "kompliziert" gecodet!
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 08-11-2005, 14:43   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
ok danke, jetzt geht es A1 !

Geändert von Suicider84 (08-11-2005 um 14:56 Uhr)
Suicider84 ist offline   Mit Zitat antworten
Alt 10-11-2005, 09:25   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
ok, neues Problem.

Nun wollte ich den 2 Slider genau wie den ersten einbauen aber es funktioniert nicht. Muss ich jetzt aus Slider_l zB slider_ll machen und im Actionscript alle Slider_l durch Slider_ll ersetzten ?

Quasi so:
Namen der slider:
Slider_ll
Slider_rr
slider_mitte

Zitat:
_root.onEnterFrame = function () {
if (_xmouse < 350) slider_m._x += (375-_xmouse)*0.05;
if (_xmouse > 400) slider_m._x += (375-_xmouse)*0.05;

slider_rr._x = slider_m._x+slider._width;
slider_ll._x = slider_m._x-slider._width;

if (slider_m._x > 750+slider_m._width*0.5) {
slider_m._name = "temp";
slider_ll._name = "slider_m";
temp._name = "slider_ll";
}
if (slider_m._x < 0-slider_m._width*0.5){
slider_m._name = "temp";
slider_rr._name = "slider_m";
temp._name = "slider_rr";
}
}

movieclip.prototype.blend = function (obj,faktor){
if (obj.hitTest(_root._xmouse, _root._ymouse, true)) {
obj._alpha = obj._alpha+(100-obj._alpha)/faktor;
}else{
obj._alpha = obj._alpha+(50-obj._alpha)/faktor;
}
}
Suicider84 ist offline   Mit Zitat antworten
Alt 10-11-2005, 11:12   #9 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
so wie du deine slider gebaut hast ist das nötig.
aber die Namenswahl ist vl nicht so ganz richtig wie wärst mit slider2_l, slider2_r und slider2?

Wenn du das ganze besser kapseln willst, kannst du einen MovieClip erstellen, der den Code für den slider enthält, und außerdem die Slider-Clips dynamisch per attachMovie erzäugt.
Dann müsstest du diese Slider-MCs von Außen initialisieren (oder als Komponenten mit Parametern steuern) damit jeder Slider seine jeweiligen slider_l, slider, slider_r MCs erzeugt.

Das wäre so eine sehr viel sauberere und strukturierte version.
dann brauchst du für jeden Slider nur einen MC (z.B. "portfolioSlider", "menuSlider", "adSlider", ...) und du kannst beliebig viele Slider einbauen indem du einfach einen Slider-MC aus der Bibliothek reinziehst (genau wie mit Komponenten).

Würde dir gern helfen sowas zu machen, ist gar nicht so schwer!
__________________
Some Flash Worx

Geändert von Alphanimal (10-11-2005 um 11:13 Uhr)
Alphanimal ist offline   Mit Zitat antworten
Alt 10-11-2005, 11:15   #10 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
Ich verstehe leider gar nicht, wie du das genau meinst. Hast du evtl. eine fertige FLA, wo ich reinschauen kann ? Dann würde ich es versuchen in meine Flashfile einzubauen.

Greez
Sui
Suicider84 ist offline   Mit Zitat antworten
Alt 10-11-2005, 11:27   #11 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Hier mal ein kleines beispiel...
Das Verhalten/Aussehen kann man dann natürlich auf deine bedurfnisse anpassen.

Inhalten müssen noch dynamisch sein...

aber du kannst erkennen das jeder scroller nur ein MC ist.
und das dafür kein Code auf der Hauptbühne benötigt wird.

und du kannst einfach einen scroller kopieren, verschieben, usw. und er funktioniert ohne Code-Änderungen.

edit: file vergessen
Angehängte Dateien
Dateityp: zip scrollerComp.zip (15,6 KB, 98x aufgerufen)
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 10-11-2005, 12:48   #12 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
Ich dann deine Flashfiles nicht öffnen ----> "Unerwartetes Dateiformat"
Ich hab Flash MX 2004 Professional

Edit: habe eben Flash 8 installiert, doch auch das geht nicht.
Wie hast du das gespeichert ?

Geändert von Suicider84 (10-11-2005 um 14:14 Uhr)
Suicider84 ist offline   Mit Zitat antworten
Alt 10-11-2005, 14:52   #13 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 76
Ah ok, ich kanns öffnen. Jedoch reagiert der Scroller nicht, wenn die Maus links steht. Wahrscheinlich, da du nur s1 und s2 (also 2 slider pics) genommen hast.

Wie müsste das Script aussehen, damit das scrollen nach links und nach rechts funktioniert ? Evtl. eine Erklärung zum Script ? Es ist ja um einiges kürzer als mein altes, dennoch verwirt es mich ein wenig.

Ah, ich habs fast hinbekommen:

Zitat:
this.onEnterFrame = function(){
//Maus auf scroller
if(_ymouse>0 && _ymouse<_height &&_xmouse>0 && _xmouse<s1._width){
v = _xmouse/70;
s1._x += v;
s2._x += v;
s3._x += v;
if(s1._x>s2._width)s1._x =s2._x - s1._width;
if(s2._x>s1._width)s2._x =s1._x - s2._width;
if(s1._x>s3._width)s1._x =s3._x - s1._width;
if(s3._x>s1._width)s3._x =s1._x - s3._width;
}
}
nur jetzt passiert nichts, wenn ich die maus links bewege

Geändert von Suicider84 (10-11-2005 um 14:56 Uhr)
Suicider84 ist offline   Mit Zitat antworten
Alt 10-11-2005, 17:53   #14 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
eigentlich hätte ich gemeint dass du DEIN script verwendest!
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 10-11-2005, 19:05   #15 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
tagchen!

@alphanimal: ich kann deine dateien net öffnen....
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti 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 17:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele