Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-02-2006, 09:44   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Arrow Buttons synchronisieren

Hallo,
wie kann ich erreichen, dass sich Buttons (MCs) synchron zueinander verhalten?

Beispiel:
mouseOver Button1 <=> Button1a wechselt ebenso in seinen mouseOver-Zustand
mouseOut Button1 <=> Button1a wechselt ebenso in seinen alten Zustand
on release Button1 <=> Button1a wechselt ebenso in den mouseOver-Zustand UND der zuletzt gedrückte Button (z.B. Button2 und dessen Partner Button2a) wechseln in den MouseOut-Zustand

Hoffe das war einigermaßen verständlich.

Mehr zum Thema und mein Script findet Ihr hier:
gegenseitiger Mausover

Ich ersehne Eure Hilfe.
Chris

Geändert von *perplex* (08-02-2006 um 10:35 Uhr)
*perplex* ist offline   Mit Zitat antworten
Alt 08-02-2006, 14:01   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Vergiss Buttons und nimm MCs. Gib den MCs drei Frames mit einem stop auf jedem Frame und gib dann den Frames von links nach rechts folgende Bildbezeichner: _up, _over und _down. Dann verhalten sich die MCs bei Mausover und Klick schon mal ohne Programmierung wie ein Button.

Danach müsstest du nur noch auf einem Klick-Event einen Sprungbefehl für den anderen MC auslösen. Voraussetzung ist natürlich, dass deine MC auch Instanznamen haben:
PHP-Code:
this.meineMCInstanz1.onRollOver = function(){
   
_level0.meinMCInstanz2.gotoAndStop("_over");

  Mit Zitat antworten
Alt 08-02-2006, 14:57   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
@agedoubleju
Vielen Dank für den Tip, aber soweit war ich schon...
Zitat:
Zitat von *perplex*
Buttons (MCs)
Mein Problem ist vielmehr, dass ich bei klick (bzw. rollOver oder sonstwas) auf einen Button-MC nicht den Zustand eines anderen Button-MCs nicht gezielt steuern kann.

Gruß
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 08-02-2006, 14:58   #4 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
agedoubleju hats ja geschrieben:
Zitat:
Zitat von agedoubleju
this.meineMCInstanz1.onRollOver = function(){
_level0.meinMCInstanz2.gotoAndStop("_over");
}
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 08-02-2006, 16:00   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wenn ich auf einem Klickevent eine andere MC-Instanz zum Springen in einen anderen Frame veranlasse, ist das doch wohl gezieltes Steuern...
  Mit Zitat antworten
Alt 08-02-2006, 16:05   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
so einfach ist das leider nicht....
Hier das Script. Die fehlerhaften Stellen sind auskommentiert
PHP-Code:
// für die Over-Reihe
var clicked;
var 
tl this;

// für die OverA-Reihe
var klick;
var 
tm this;

// hier das Script für die OverA-Reihe
this["overA"+x].gotoAndStop(2);            //Aktiv-Status des Buttons beim Laden der Seite
this["overA"+x].useHandCursor false;
klick this["overA"+x];

for (var 
0i<=12i++) {
    
tm["overA"+i].onRollOver = function() {
        if (
this != tm.klick) {
            
this.gotoAndStop(2);
            
tl["over"+x].gotoAndStop(2);      //derzeit noch fehlerhaft
        
}
    };
    
tm["overA"+i].onRollOut tm["overA"+i].onReleaseOutside=function () {
        if (
this != tm.klick) {
            
this.gotoAndStop(1);
            
tl["over"+x].gotoAndStop(1);      //derzeit noch fehlerhaft
        
}
    };
    
tm["overA"+i].onRelease = function() {
        if (
this != tm.klick) {
            
_global.this._name.split("overA")[1];
            
tm.klick.gotoAndStop(1);
            
tm.klick.useHandCursor true;
            
tm.klick this;
            
this.useHandCursor false;
            
//
            
tl["over"+x].gotoAndStop(2);             //derzeit noch fehlerhaft
            
tl.clicked.gotoAndStop(1);               //derzeit noch fehlerhaft
            
tl.clicked.useHandCursor true;         //derzeit noch fehlerhaft
            
tl.clicked = ["over"+x];                 //derzeit noch fehlerhaft
            
tl["over"+x].useHandCursor false;      //derzeit noch fehlerhaft
        
}
    };

Gruß,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 08-02-2006, 16:18   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo (mal wieder)...

1. Pack mal am Anfang _global.x = 0 rein

2.
PHP-Code:
tl.clicked = ["over"+x];//geht nicht
tl.clicked tl["over"+x]; //so geht das 
3. Es ist sinnlos, die Timeline in 2 Vars zu schreiben. Kannst dir also "var tm = this" schenken und alle "tm" durch "tl" ersetzen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (08-02-2006 um 16:22 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 08-02-2006, 16:18   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
tl["over"+x].gotoAndStop(2); //derzeit noch fehlerhaft
Wo kommt "x" her?

Wenn du Events in for-Schleifen erstellst, solltest du dir in den MCs den Schleifenzähler merken, denn nach Ablauf der Schleife ist höchstens noch der letzte Wert des Schleifenzählers bekannt...
  Mit Zitat antworten
Alt 08-02-2006, 16:29   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hallo @all
und danke für Eure zahlreichen Meldungen
Die Variable x beziehe ich global aus der vorangegangenen SWF.

@der Frager
RE
Danke für die Tips 2 und 3. Werde ich gleich ausprobieren!

EDIT:
@agedoubleju
ich glaub der Wert wird an die Variable clicked bzw. klick weitergegeben ?!

thx,
Chris

Geändert von *perplex* (08-02-2006 um 16:51 Uhr)
*perplex* ist offline   Mit Zitat antworten
Alt 08-02-2006, 17:02   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Soo, habs ausprobiert!

das rollOver klappt (noch) nicht!

mit on release klappts. Jedoch wird der Zustand bei rollOut gleich wieder aufgehoben. Das sollte aber erst der Fall sein, wenn ein anderer Button geklickt wird.

Habt Ihr noch Ideen?
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 09-02-2006, 13:42   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
*grummel* *grummel*

Ohh! Hi,
... habe jetzt alle Möglichkeiten durchgespielt. Ich krieg das hier nicht gebacken.
Könnt Ihr vielleicht nochmal drüber kucken?

Danke,
Chris
*perplex* ist offline   Mit Zitat antworten
Alt 09-02-2006, 13:49   #12 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Hast du mal das aktuelle Script oder das File?
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 09-02-2006, 13:51   #13 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
tl["overA"+i].onRollOver = function() {
        if (
this != tl.klick) {
            
this.gotoAndStop(2);
            if (
tl["over"+x] != tl.clicked) {
                
tl["over"+x].gotoAndStop(2);
            }
        }
    };
    
tl["overA"+i].onRollOut tl["overA"+i].onReleaseOutside=function () {
        if (
this != tl.klick) {
            
this.gotoAndStop(1);
            if (
tl["over"+x] != tl.clicked) {
                
tl["over"+x].gotoAndStop(1);
            }
        }
    }; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-02-2006, 15:17   #14 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 175
Hallo,
Bin wieder ein Stückchen weiter auf meinem Weg (meinen Dank an der Frager).
Die Sache hat jetzt noch einen Schönheitsfehler => Das rollOver funktioniert immer noch nicht. Bei mir hat sich die Frage eingeschlichen, ob das überhaupt machbar ist (*...wenn der rollOver-Effekt eines MCs von ausserhalb abgespielt werden soll, gleichzeitig aber der rollOut-Befehl des MCs greift, weil man ja nicht mit dem Mauszeiger auf seiner aktiven Fläche ist... *)

Wäre cool, wenn Ihr mir das Gegenteil beweisen könntet.
Anbei meine Dummy-Datei. Diese enthält auch das neueste Script.

Gruß
Chris
Angehängte Dateien
Dateityp: zip mouseover.zip (16,1 KB, 8x aufgerufen)
*perplex* 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 22:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele