Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-03-2005, 11:20   #1 (permalink)
Neuer User
 
Benutzerbild von Force
 
Registriert seit: Jan 2005
Ort: Chemnitz/Frankenberg
Beiträge: 9
Cool Probleme mit Buttons in MC's

hey Flash community

erstmal großes LOB an ALLE hier ... thx for the support

nun zu meinem Problem

hab mir ne Navi gebaut - jede Rubrik besteht aus nem button und einer
Gruppe Formen welche nun als MovieClip definiert sind. z.B. mc_home usw.
seht ihr ja auch im Beispiel.

als erstes blende ich die Navi als Animation ein ... jedoch sollen da die
buttons noch nicht aktiv sein.jetzt hab ich mir nen Script geschrieben das
mir die Buttons deaktivieren soll. das sieht so aus.dieses leigt in einer action
Ebene auf der hzl im Bild 15, da wo die Navi anfängt sich einzublenden.

PHP-Code:
   function () {
     if (
_currentframe<=125) {
         
this.but_ho.enabled false;
     } else {
         
this.but_ho.enabled true;
     }
 }; 
but_ho ist der home button der im MovieClip mc_home steckt. Leider funktioniert
das nicht ... auch nicht mit visible. Vielleicht kann mir da jemand helfen. Danke schon
mal im voraus.


und in diesem Zusammenhang hab ich noch nen Problem welches sich aber
fast genauso lösen lassen würde wenn mein Scipt funktionieren würde.wenn ich nun
z.B. auf "home" drücke setze ich ein setInterval um eine
Animation abzuspielen welche auch die ganze Arbeitsbühne verdeckt. nun
sind die Navischaltflächen zwar nich sichtbar aber trotzdem aktiv und
anklickbar.


Bin für jede Idee dankbar.
Angehängte Dateien
Dateityp: rar bsp.rar (18,7 KB, 2x aufgerufen)
__________________
DNA is inside you !!!

http://www.dna-dnb.de
http://force.dna-dnb.de
Force ist offline   Mit Zitat antworten
Alt 02-03-2005, 11:30   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Hallo!
Dann schreib doch in Deinen Button halt mit rein, das er prüfen soll ob der mc auf den Frame ist den Du haben willst, erst dann soll er die aktion ausführen.
PHP-Code:
onrelease )
{
   if( 
mc._currentframe == 125 )
   {
      ...
   }

Und für Deinen Button Home, sieht das dann so aus:
PHP-Code:
on (press) {
    if( 
_root._currentframe == 125 )
    {
        
_root.bg.play();
        
_parent.removeMovieClip('container_fly');
        
pause setInterval(function () { clearInterval(pause);_parent.gotoAndStop('home_start');}, 1500);
    }

Um das mit dem setInterval (das Buttons dann nicht drückbar), solltest Du lieber eine Variable deklarieren.
Im ersten Frame der Hauptzeitleiste:
PHP-Code:
var myButt_bool false
Auf Frame 125:
PHP-Code:
myButt_bool true
Und in Deinem Button Script fragste nicht mehr ob der aktuelle Frame == 125 ist sondern ob Deine Variable == true ist.
Dann setzt Du die Variable wieder false, und wenn Du Deine Buttons wieder aktiv machen willst, musst Du sie halt wieder auf true setzen .
__________________
ERROR: Signature is too large

Geändert von rendner[i] (02-03-2005 um 11:42 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 02-03-2005, 13:07   #3 (permalink)
Neuer User
 
Benutzerbild von Force
 
Registriert seit: Jan 2005
Ort: Chemnitz/Frankenberg
Beiträge: 9
danke erstmal für deine schnelle Antwort

hab das auch gleich mal ausprobiert. funktioniert schon mal.

bin da bloß noch auf nen Problem gestoßen. wenn ich am Frame 125 angekommen bin und klicke auf z.B. 'dates' springt mir ja mein Film zu einer anderen Stelle im Film und da dieser Frame ja nicht mehr 125 ist passiert gar nichts mehr. Meine Frage wäre ob man der Abfrage welcher Frame ist, nicht eine kleiner oder größer als Funktion einbinde kann z.B. so

PHP-Code:
 on (press) { 
    if( 
_root._currentframe <= 125 
habs auch so probiert ... funzt aber auch ne

PHP-Code:
 on (press) { 
    if( 
_root._currentframe == 125 or 250 or 375 or 500 
PHP-Code:
on (press) { 
    if( 
_root._currentframe == 125 and 250 and 375 and 500 
brauch diese Inaktivität der buttons nur in den ersten 125 Frames.

ja und das selbe ist bei der Variable der Fall ab Frame 125 funzt das noch und sobald ich im Film weiterspring funzt die Navi dann nicht mehr.

hast du ne Idee ?
__________________
DNA is inside you !!!

http://www.dna-dnb.de
http://force.dna-dnb.de
Force ist offline   Mit Zitat antworten
Alt 02-03-2005, 13:32   #4 (permalink)
hobbyflasher
 
Benutzerbild von lasic+
 
Registriert seit: Jun 2003
Ort: NRW
Beiträge: 229
Wenn nur in den ersten 125 Frames keine Aktivität vorhanden sein soll, dann mach das doch einfach so:

ActionScript:
  1. on( release )
  2. {
  3.    if( mc._currentframe <= 125 )
  4.    {
  5.       ...
  6.    }
  7. }

PS: in diesem if- Block musst du dann die Anweisungen einfügen, die nicht passieren dürfen, in dem darauffolgendem else- Block dann das was passieren soll, wenn er weiter als 125 Frames ist....
__________________
gruß lasic+

Geändert von lasic+ (02-03-2005 um 13:43 Uhr)
lasic+ ist offline   Mit Zitat antworten
Alt 02-03-2005, 13:35   #5 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
ActionScript:
  1. on (press) {
  2.     if( _root._currentframe == 125 || _root._currentframe == 375 || _root._currentframe == 500 ) // "||" ist das "oder" in AS
  3.  
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 02-03-2005, 14:35   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Das mit dem oder || kann man auch machen, halt ich aber für weniger sinnvoll.
Nimm doch wie ich schon sagte ne Variable, diese setzte immer auf false, wenn die Buttons keine aktion machen sollen, und wenn doch setzt die wieder auf true.

Die Variable ist die, die ich vorher schon weiter oben erklärt hatte.
PHP-Code:
on (press) { 
    if( 
_root.myButt_bool //fragt ob die Varible true ist
    

        
_root.myButt_bool false//Button reagiert jetzt nicht mehr
        
_root.bg.play(); 
        
_parent.removeMovieClip('container_fly'); 
        
pause setInterval(function () { clearInterval(pause);_parent.gotoAndStop('home_start');}, 1500); 
    } 

So ist das viel einfacher und mann muss nicht immer die Frames kontrollieren, ist erstens viel schneller als die Variante (auch wenns richtig ist) von andretti
und zweitens muss man später nicht die Framewerte umändern, falls man doch mal was verschiebt.
__________________
ERROR: Signature is too large

Geändert von rendner[i] (02-03-2005 um 14:37 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 02-03-2005, 15:13   #7 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
ich wollte nur das script richtig schreiben: or = ||
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 02-03-2005, 17:30   #8 (permalink)
Neuer User
 
Benutzerbild von Force
 
Registriert seit: Jan 2005
Ort: Chemnitz/Frankenberg
Beiträge: 9
Thumbs up

ist doch kein Prob andretti

also thx an alle das rockt wie sch...
funktioniert also bestens und danke rendner[i] für die idee mit der variable

__________________
DNA is inside you !!!

http://www.dna-dnb.de
http://force.dna-dnb.de
Force 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 02:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele