Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-08-2003, 20:42   #1 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
image ein bzw. ausfaden

Neues Problem bei dem ich mit sicherheit irgendwas übersehe.
Fragt sich nur was

Ich lade ein jpg in ein MC den ich von Anfang an auf _alpha = 0 setze.
Wenn das Bild fertiggeladen hatt soll der MC einfaden.
Soweit kein Problem.

Will ich jetzt aber mit einem Menübutton das Bild bzw den MC wieder ausfaden funktioniert das komischerweise nur, wenn ich zwei mal über einen Menüpunkt gefahren bin.
Soweit klar?

Hier mal das Script ich hoffe ihr könnt damit was anfangen.
ActionScript:
  1. // ====================================
  2. //
  3. // loading Monitor jpg
  4. //
  5. // ====================================
  6. //
  7. _root.monitor_mc._alpha = 0;
  8. _root.monitor_mc.image_mc.loadMovie ("elemente/images/sichtBuehneBlank.jpg", 1);
  9. _root.monitor_mc.onEnterFrame = function () {
  10.     var bGeladen = this.image_mc.getBytesLoaded ();
  11.     var bTotal = this.image_mc.getBytesTotal ();
  12.     jpgProzent = Math.floor ((bGeladen / bTotal ()) * 100);
  13.     if (bGeladen >= bTotal) {
  14.         //trace ("Bild fertig geladen");
  15.         this._alpha += 7;
  16.         if (this._alpha >= 100) {
  17.             //trace("delete onEnterFrame function");
  18.             _root.gotoAndPlay (2);
  19.             delete this.onEnterFrame;
  20.         }
  21.     } else {
  22.         this._parent.ladeBalken_mc._xscale = bGeladen / bTotal * 100;
  23.     }
  24. };
  25. // 
  26. // ====================================
  27. //
  28. // Navigation
  29. //
  30. // ====================================
  31. //
  32. function navigationSteuerung (derClip) {
  33.     derClip.onRollOver = function () {
  34.         this.gotoAndPlay (2);
  35.     };
  36.     derClip.onRollOut = function () {
  37.         this.onEnterFrame = function () {
  38.             if (this._currentframe > 1) {
  39.                 this.prevFrame ();
  40.             } else {
  41.                 delete this.onEnterFrame;
  42.             }
  43.         };
  44.         derClip.onRelease = function () {
  45.             _root.monitor_mc.onEnterFrame = function () {
  46.                
  47.                 _root.monitor_mc._alpha -= 13;
  48.             };
  49.             if (_root.monitor_mc._alpha <= 0) {
  50.                 delete _root.monitor_mc.onEnterFrame;
  51.             }
  52.         };
  53.     };
  54. }
  55. //
  56. navigationSteuerung (navigation_mc.button1_mc);
  57. navigationSteuerung (navigation_mc.button2_mc);
  58. navigationSteuerung (navigation_mc.button3_mc);
  59. navigationSteuerung (navigation_mc.button4_mc);
  60. //
  61. //
  62. stop ();
< priZma > ist offline   Mit Zitat antworten
Alt 23-08-2003, 20:49   #2 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
hi prizma,

jetzt mal nur der relevante teil des codes:
ActionScript:
  1. derClip.onRelease = function () {
  2. _root.monitor_mc.onEnterFrame = function () {
  3. if (this._alpha > 0) {
  4. this._alpha -= 13;
  5. }else {
  6. delete this.onEnterFrame;
  7. }
  8. };
so müsste es meiner meinung nach gehen.

gruß, mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 23-08-2003, 22:16   #3 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
Hm ja so sieht der Code schon besser aus
Trotzdem reagiert der MCButton erst beim wiederholten drüberfahren.
< priZma > ist offline   Mit Zitat antworten
Alt 23-08-2003, 22:59   #4 (permalink)
stop the fog
 
Benutzerbild von < priZma >
 
Registriert seit: Apr 2003
Beiträge: 97
OK es liegt an der onRollOver Funktion
ActionScript:
  1. derClip.onRollOut = function () {
  2.         this.onEnterFrame = function () {
  3.             if (this._currentframe > 1) {
  4.                 this.prevFrame ();
  5.             } else {
  6.                 delete this.onEnterFrame;
  7.             }
  8.         };

Umgangen bin ich das jetzt indem ich noch eine If Abfrage vor der onEnterFrame Funktion gesetzt habe.
ActionScript:
  1. derClip.onRollOut = function () {
  2.         if (out == true) {
  3.             this.onEnterFrame = function () {
  4.                 if (this.strich_mc._x <= punkt1X || this._currentframe > 1) {
  5.                     this.strich_mc._x += 10 * 0.8;
  6.                     this.prevFrame ();
  7.                 } else {
  8.                     out == false;
  9.                     this.strich_mc._alpha = 0;
  10.                    
  11.                 }
  12.             };
  13.         } else {
  14.             delete this.onEnterFrame;
  15.         }
  16.     };

Geändert von < priZma > (24-08-2003 um 11:54 Uhr)
< priZma > 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 15:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele