Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-03-2007, 09:59   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 49
Question Problem Instanz ansprechen

Ich lade den MC "menu1" auf meine Bühne:

PHP-Code:
attachMovie("menu1","menu1",0); 
Im MC "menu1" habe ich einen weiteren MC der animiert ist (per Zeitleiste und nicht AS). Diesem MC habe ich den Instanznamen "btn1" gegeben und habe auch darauf geachtet, dass er bei jedem Schlüsselbild in der Zeitleiste den Instanznamen "btn1" hat.

Wie kann ich jetzt von meiner Hauptbühne aus den "btn1" ansprechen?

PHP-Code:
menu1.btn1.onRelease = function() {
attachMovie("film","film",1);

So ging es nicht und auch einfach mit btn1.onRelease ging es nicht.

Geändert von 6-Speed (29-03-2007 um 10:01 Uhr)
6-Speed ist offline   Mit Zitat antworten
Alt 29-03-2007, 10:02   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hi.. haste instanznamen vergeben? ist der mc auf der zeitleiste wenn du ihm mit dem script die function zuweist?
PHP-Code:
menu1.btn1.onRelease = function() {
trace("button: " this);

cheers, 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 29-03-2007, 10:41   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 49
Ich habe jetzt heraus gefunden wieso es nicht geht. Aber wie ich es zum laufen kriege weiss ich noch immer nicht.

Folgenden AS-Code habe ich ebenfalls auf der Hauptbühne. Er sorgt dafür, dass die Animation vom "btn1" onRollOver vorwärts abspielt und onRollOut rückwärts bis in die Ausgangsposition abspielt.

PHP-Code:
menu1.onRollOver = function() {
    
menu1.onEnterFrame = function() {
        if (
this._currentframe == this._totalframes) {
            
delete this.onEnterFrame;
        } else {
            
this.nextFrame();
        }
    }
}

menu1.onRollOut = function() {
    
menu1.onEnterFrame = function() {
        if (
this._currentframe == 1) {
            
delete this.onEnterFrame;
        } else {
            
this.prevFrame();
        }
    }

Wenn ich diesen Code entferne funktioniert folgender Code:

PHP-Code:
menu1.btn1.onRelease = function() { 
attachMovie("film","film",1); 

Wie kriege ich es jetzt hin, dass beide Codes funktionieren?
6-Speed ist offline   Mit Zitat antworten
Alt 29-03-2007, 22:07   #4 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
hast du beim 1. und letzten schlüsselbild dem butten den instanznamen verpasst?
sonst gehts nämlich nicht.
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 30-03-2007, 09:48   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 49
Zitat:
Zitat von _crypto_ Beitrag anzeigen
hast du beim 1. und letzten schlüsselbild dem butten den instanznamen verpasst?
sonst gehts nämlich nicht.
Ja das habe ich. Wie bereits in meinem zweiten Post erwähnt funktioniert das ansprechen der Buttons wenn ich die onRollOver und onRollOut Funktion auf dem "menu1" entferne. Jedoch brauche ich diese Funktion auch, weil sonst das Menu nicht aus und einfährt.

Wieso sich die beiden Codes beissen kann ich mir aber nicht erklären.
6-Speed ist offline   Mit Zitat antworten
Alt 30-03-2007, 13:18   #6 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
naja eig müste sich ja nur 2 onRelease überschneiden beim rollOver ises mir noch nie aufgefallen mal testen
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Alt 30-03-2007, 13:32   #7 (permalink)
Neuer User
 
Benutzerbild von blaupause
 
Registriert seit: Jul 2003
Beiträge: 38
Und wenn einfach der pfad falsch ist? das fällt mir auf die Schnelle ein. Versuch's doch mal mit:
Code:
_root.menu1.btn1.onRollOver = function() { 
    _root.menu1.onEnterFrame = function() { 
        if (this._currentframe == this._totalframes) { 
            delete this.onEnterFrame; 
        } else { 
            this.nextFrame(); 
        } 
    } 
}
ich denke mit
Code:
//der btn ist ja der Akteur
menu1.onRollOver = function() { 
//das entpricht doch menu1.menu1.onEnterFrame, oder?
        menu1.onEnterFrame = function() { 
        if (this._currentframe == this._totalframes) { 
            delete this.onEnterFrame; 
        } else { 
            this.nextFrame(); 
        } 
    } 
}
blaupause ist offline   Mit Zitat antworten
Alt 30-03-2007, 13:43   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 49
Darfst es sonst gerne gleich einmal anhand meines (vereinfachten) Menus testen.
Wäre echt froh um hilfe da mir die Zeit bis zur Aufschaltung der Page langsam davon läuft. Mein Ziel wäre es später den ein und ausfahr Effekt des Menus per AS ohne Tweenings zu lösen aber dafür fehlt mir die Zeit. Daher wollte ich es jetzt einmal so lösen. War wohl keine so schlaue Idee.
Angehängte Dateien
Dateityp: zip menu.zip (4,4 KB, 3x aufgerufen)

Geändert von 6-Speed (30-03-2007 um 13:49 Uhr)
6-Speed ist offline   Mit Zitat antworten
Alt 30-03-2007, 13:53   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2006
Beiträge: 49
@blaupause:

Der Pfad stimmt auf jeden Fall. Jedes der beiden Scripts funktioniert ALLEINE. Also Script 1 (rollOver/rollOut) geht wenn Script 2 (onRelease) entfernt wird. Und Script 2 (onRelease) funktioniert auch wenn Script 1 (rollOver/rollOut) entfernt wird. Sobald aber beide Scripts vorhanden sind geht das Script 2 (onRelease) nicht mehr.
6-Speed ist offline   Mit Zitat antworten
Alt 30-03-2007, 17:40   #10 (permalink)
Neuer User
 
Benutzerbild von blaupause
 
Registriert seit: Jul 2003
Beiträge: 38
Achso, ich hatte gedacht, Du hast was ganz anderes.
Jedefalls glaube ich, dass die beiden scripts kollidieren. Was spricht er denn beim tracen in allen 4 Scripts?
Wenn Du das Menu verlässt, könntest Du evtl. auch die Koordinaten der Maus abfragen stattdessen, um das Menu zu schließen.
blaupause 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 04:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele