Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-01-2006, 09:47   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
Übergeordneten Movieclip steuern

Szene1 enthält:
- AS (für Yugop)
- MC (Yugop Bilder; Yugop-MC)

MC (Yugop Bilder) enthält
- AS
Zitat:
stop();
mc1.onRelease = function() {
gotoAndPlay("animation1");
};
mc2.onRelease = function() {
gotoAndPlay("animation2");
};
- MC1
- MC2
- MC3
...

MC1, MC2, MC3,... agieren somit als Buttons. Bei Button betätigung soll der übergeordnete Yugop-MC anhalten.

Wie steuert man mit Action Script einen übergeordneten Movieclip an?

Edit: Ich glaube, dass man es mit Pfaden lösen könnte. Bekomme die Schreibweise aber irgendwie nicht hin.
Kommt
Zitat:
mc1.mcyugop.stop();
möglicherweise dem Ganzen irgendwie näher?

Geändert von thomas_as (11-01-2006 um 10:53 Uhr)
thomas_as ist offline   Mit Zitat antworten
Alt 11-01-2006, 12:21   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Es gibt die Möglichkeit, das mit relativen Pfaden zu machen, z.B. von mcyugop aus:
PHP-Code:
this._parent.stop(); 
Oder du nimmst die absolute Pfadangabe von der Hauptzeitleiste aus:
PHP-Code:
_level0.mcyugop.stop(); 
  Mit Zitat antworten
Alt 11-01-2006, 13:32   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
schrieb ich das dann so in den mc?
PHP-Code:
stop();
mc1.onRelease = function() {
    
gotoAndPlay("animation1");
    
_level0.slider.stop();
}; 
oder so
PHP-Code:
mc1.onRelease = function() {
    
gotoAndPlay("animation1");
        
this._parent.stop(); 
?

Beides funktioniert nicht und deaktiviert meine
PHP-Code:
gotoAndPlay 
-Sache.
Wo liegt der Fehler?

Gehört eines der beiden in das restliche (Yugop-Script) der Hauptzeitleiste packe, habe ich ja keinen Zugriff auf meine Buttons, da die sich im mcyugop befinden.
Bitte um zusätzliche Erkärung.
Vielen Dank im Voraus!
thomas_as ist offline   Mit Zitat antworten
Alt 11-01-2006, 13:36   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Poste am besten mal das Script...
  Mit Zitat antworten
Alt 11-01-2006, 13:36   #5 (permalink)
DsdSf
 
Benutzerbild von aragorn
 
Registriert seit: Sep 2002
Ort: Tiefes Rheinland
Beiträge: 189
Wenn´s geht poste mal ein Beispiel oder nen Link, wo man sich das ansehen kann, was Du meinst.
__________________
But since he bid me to rise,
I ain´t been to sleep.
----------------------------------------
Terry Callier - Lazarus Man


Tue recht und scheue niemand.
----------------------------------------
E.Vinken
aragorn ist offline   Mit Zitat antworten
Alt 11-01-2006, 14:02   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
Das Prinzip habe ich von http://www.flashstar.de/tutlist/. Dort fand ich ne Spiderman Yugop. Einige von hier kennen das beispiel bestimmt. Leider finde ich den direkten Link dazu nicht mehr. Die fla_Datei heißt: fsdiascroll.fla und war irgendwo bei den Flash-Tutorials. (evtl. kennt jemand den Link dazu)

Hier meine Ebenenhierarchiestruktur:
Szene1 enthält:
Ebene1 mit folgendem Code:
PHP-Code:
_root.onEnterFrame = function () {
    if (
_xmouse 500slider._x += (375-_xmouse)*0.05;
    if (
_xmouse 545slider._x += (375-_xmouse)*0.05;

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

    if (
slider._x 1045+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._ymousetrue)) {
        
obj._alpha obj._alpha+(100-obj._alpha)/faktor;        
    }else{
        
obj._alpha obj._alpha+(50-obj._alpha)/faktor;        
    }    

Der zweite Teil "movieclip.prototype..." wäre auch interessant, aber erstmals das andere Problem bitte.

Ebene2 enthält einen Movieclip namens "scroller", vorhin für euch mit "mcyugop" bezeichnet.
Im Scroller befinden sich ein Action Script auf einer eigenen Ebene:
PHP-Code:
stop();
mc1.onRelease = function() {
    
gotoAndPlay("animation1");
    
_level0.slider.stop();  
}; 
die Animation wurde per Hand mit "Schlüsselbild einfügen & Co." gemacht und soll beim nächsten Bezeichner (der auch eine eigene Ebene hat) quasi Rückwärtslaufen. Per Hand schaut mein Action Script zu der Animation so aus:
PHP-Code:
stop();
mc1.onRelease = function (){
gotoAndPlay ("animation1r");
    } 
Hiermit möchte ich nun also auf ein Bild (ist Movieclip mit Buttonfunktion) klicken, dann eine Animation ausführen, beim Klick noch einen Ton abspielen (s.u.) und während das Bild in seine vorläufige Endposition (der Status am Ende von "animation1" kommt, soll der Bildlauf (quasi der "slider"/mcyugop) gestoppt werden. Wenn das sanft gehen würde, wäre es sehr schön, aber auch mit einem harten "stop();" wäre mir fürs erste zumindest geholfen.
Zum sanften stoppen habe ich schon einen Thread gefunden, jedoch in einem gegenwärtig wohl weniger stark besuchtem Forum wie hier: script für einen "smooth-stop" im Yugop-menü
Vielleicht ist die Problematik aber auch sehr komplex?

Neben Bezeichner und Actionscript Ebene liegt jeder MC auf einer eigenen Ebene. In jedem MC befindet sich folgendes Script
PHP-Code:
onClipEvent (enterFrame) {
    
blend(this6);
}
on (release) {
    
//Play Internal Sound Behavior
    
if(_global.Behaviors == null)_global.Behaviors = {};
    if(
_global.Behaviors.Sound == null)_global.Behaviors.Sound = {};
    if(
typeof this.createEmptyMovieClip == 'undefined'){
        
this._parent.createEmptyMovieClip('BS_btnsound',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
        
_global.Behaviors.Sound.btnsound = new Sound(this._parent.BS_btnsound);
    } else {
        
this.createEmptyMovieClip('_btnsound_',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
        
_global.Behaviors.Sound.btnsound = new Sound(this.BS_btnsound);
    }
    
_global.Behaviors.Sound.btnsound.attachSound("btnsound.aif");
    if (
true) {
        
_global.Behaviors.Sound.btnsound.start(0,1);
    }
    
//End Behavior


Der erste Teil hiervon mit dem "blend" bezieht sich auf das Script ganz oben mit "movieclip.prototype..." Was in der Vorlage (fsdiascroll.fla) perfekt funktioniert (wenn man mit der Maus drüber geht (onRollOver), "leuchtet" der jeweilige MC-Button kurz auf. Bei mir geht das nicht. Trotz 1:1 Kopie (copy&paste)
Der zweite Teil spielt ganz einfach meinen Sound "btnsound.aif" zuverlässig und korrekt ab.

Noch Fragen?
Vielen Dank im Voraus!
thomas_as ist offline   Mit Zitat antworten
Alt 11-01-2006, 19:16   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 211
geht das nicht? glaube ich nicht ...
weiß es keiner? glaube ich nicht ...
thomas_as 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 07:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele