Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-10-2005, 20:04   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 69
komponente umbauen und frage zu variablen

hey

ich würde sehr gern die komponente "liquid fx" von andré michelle so umbauen, dass ich die as in ein layer packen kann und es dann ganz normal auf das symbol beziehen kann. hier könnt ihr euch den effekt anschauen und hier ist der ursprungsfile.

parameter für die komponente:
ActionScript:
  1. symbolID = screenshot
  2. speed = 4
  3. scale = 10000

und die komponente:
ActionScript:
  1. #initclip
  2.  
  3. var liquidFX = function () {
  4.  
  5.     this.initialize();
  6.  
  7.     this.startFX();
  8.  
  9. };
  10.  
  11. var p = liquidFX.prototype = new MovieClip();
  12.  
  13. p.initialize = function () {
  14.  
  15.     var main = this.main = this.attachMovie ( this.symbolID , "main_clip" , 0 );
  16.     var sub  = this.sub  = this.attachMovie ( this.symbolID , "sub_clip"  , 1 );
  17.  
  18.     var main_mask = this.main_mask = this.createEmptyMovieClip ( "main_mask" , 2 );
  19.     var sub_mask = this.sub_mask = this.createEmptyMovieClip ( "sub_mask" , 3 );
  20.  
  21.     this.height = main._height;
  22.     this.width  = main._width;
  23.  
  24.     main.setMask ( main_mask );
  25.     sub.setMask ( sub_mask );
  26.  
  27.     sub._xscale = this.scale;
  28.  
  29. }
  30.  
  31. p.startFX = function () {
  32.  
  33.     var x = 0;
  34.  
  35.     this.onEnterFrame = function () {
  36.  
  37.         x += this.speed;
  38.  
  39.         this.sub._x = -x * this.scale / 100 - x / this.scale * 100;
  40.  
  41.         // draw main mask //
  42.  
  43.         with ( this.sub_mask ) {
  44.  
  45.             clear();
  46.  
  47.             beginFill( 0x000000 );
  48.  
  49.             moveTo ( x , 0 );
  50.             lineTo ( this.width , 0 );
  51.             lineTo ( this.width , this.height );
  52.             lineTo ( x , this.height );
  53.             lineTo ( x , 0 );
  54.  
  55.             endFill();
  56.  
  57.         }
  58.  
  59.         // draw main mask //
  60.  
  61.         with ( this.main_mask ) {
  62.  
  63.             clear();
  64.  
  65.             beginFill( 0x000000 );
  66.  
  67.             moveTo ( 0 , 0 );
  68.             lineTo ( x , 0 );
  69.             lineTo ( x , this.height );
  70.             lineTo ( 0 , this.height );
  71.             lineTo ( 0 , 0 );
  72.  
  73.             endFill();
  74.  
  75.         }
  76.  
  77.     }
  78.  
  79. }
  80.  
  81.  
  82. Object.registerClass( "liquidFX" , liquidFX );
  83.  
  84. #endinitclip

so habe ich es versucht zu ändern - klappt aber leider nicht
ActionScript:
  1. speed = 4; // geändert
  2. scale = 10000; // geändert
  3.  
  4. var liquidFX = function () {
  5.  
  6.     this.initialize();
  7.  
  8.     this.startFX();
  9.  
  10. };
  11.  
  12. var p = liquidFX.prototype = new MovieClip();
  13.  
  14. p.initialize = function () {
  15.  
  16.     var main = this.main = this.attachMovie ( this, "main_clip" , 0 )// geändert
  17.     var sub  = this.sub  = this.attachMovie ( this, "sub_clip"  , 1 ); // geändert
  18.  
  19.     var main_mask = this.main_mask = this.createEmptyMovieClip ( "main_mask" , 2 );
  20.     var sub_mask = this.sub_mask = this.createEmptyMovieClip ( "sub_mask" , 3 );
  21.  
  22.     this.height = main._height;
  23.     this.width  = main._width;
  24.  
  25.     main.setMask ( main_mask );
  26.     sub.setMask ( sub_mask );
  27.  
  28.     sub._xscale = this.scale;
  29.  
  30. }
  31.  
  32. p.startFX = function () {
  33.  
  34.     var x = 0;
  35.  
  36.     this.onEnterFrame = function () {
  37.  
  38.         x += this.speed;
  39.  
  40.         this.sub._x = -x * this.scale / 100 - x / this.scale * 100;
  41.  
  42.         // draw main mask //
  43.  
  44.         with ( this.sub_mask ) {
  45.  
  46.             clear();
  47.  
  48.             beginFill( 0x000000 );
  49.  
  50.             moveTo ( x , 0 );
  51.             lineTo ( this.width , 0 );
  52.             lineTo ( this.width , this.height );
  53.             lineTo ( x , this.height );
  54.             lineTo ( x , 0 );
  55.  
  56.             endFill();
  57.  
  58.         }
  59.  
  60.         // draw main mask //
  61.  
  62.         with ( this.main_mask ) {
  63.  
  64.             clear();
  65.  
  66.             beginFill( 0x000000 );
  67.  
  68.             moveTo ( 0 , 0 );
  69.             lineTo ( x , 0 );
  70.             lineTo ( x , this.height );
  71.             lineTo ( 0 , this.height );
  72.             lineTo ( 0 , 0 );
  73.  
  74.             endFill();
  75.  
  76.         }
  77.  
  78.     }
  79.  
  80. }

und meine zweite frage:
wie kann ich zwei variablen die hinter der swf stehen einfach auslesen?

eine variable lese ich so aus (*.swf?id=test):
ActionScript:
  1. if (_root.id == "test") {
  2.         loadMovie("...");
  3.     }

wie kann ich es aber z.b. bei zwei machen (*.swf?id=test&id2=test2)?

wäre prima wenn ihr mir helfen könnt - danke schön

Geändert von crustymalte (14-10-2005 um 13:13 Uhr)
crustymalte ist offline   Mit Zitat antworten
Alt 14-10-2005, 00:35   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 69
nun klappt es mit den variablen

ActionScript:
  1. if ((_root.id == "test") && (_root.id2 == "test2")) {
  2.         loadMovie("...");
  3. }

wäre aber prima, wenn ihr mir bei der komponente weiterhelfen könnten.

gruß malte

Geändert von crustymalte (14-10-2005 um 13:13 Uhr)
crustymalte ist offline   Mit Zitat antworten
Alt 14-10-2005, 19:15   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 69
kann mir bei der komponente niemand auf die sprünge helfen?

hätte dieses effekt sehr gern auf einem eingeladenen jpg von der hauptzeitleiste aus gesteuert. bekomme aber leider auch nicht so recht den genauen pfad heraus - habe es mit trace (this); versucht..
crustymalte ist offline   Mit Zitat antworten
Alt 19-10-2005, 11:17   #4 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
Hallöle Malte.

Ich hab Dir die Komponente in eine AS2-Klasse umgebaut.
Habs sie aber gerade nicht hier. Der Loader kommt denk ich heut Abend noch.
Dass ganze lässt sich dann auch wunderbar erweiter. (andere Richtung,fps setzen (Da Interval basieret), etc.)

Grüsse,
Alex
__________________
---::::: AVisioN :::::---
AVisioN 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 20:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele