Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-10-2003, 14:22   #1 (permalink)
sia
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 81
function für zwei verschiedene elemente...

hi...

habe folgenden code gebastelt:

ActionScript:
  1. function drawzoll() {
  2.        
  3.     if (Number(VARIABLE)){
  4.        
  5.     count++;
  6.     duplicateMovieClip("line", "line"+count, count);
  7.  
  8.     _root["line"+count]._y = 150;
  9.     _root["line"+count]._rotation = count;
  10.     _root["line"+count]._height = (VARIABLE * 100) * 1.8;
  11.    
  12.     mcnum = count - 120;
  13.  
  14.     if (count >= 120) {
  15.         removeMovieClip("line" + mcnum);
  16.     }
  17.     } }

so, jetzt wirds kompliziert...

ich möchte die funktion für das objekt "line", wie oben, aber auch genau den selben code für ein zweites objekt ("line02") verwenden... einziger unterschied ist hier die VARIABLE, deren bezeichnung ist bei line anders, als bei line02...

hab schon einiges herumprobiert, kriegs aber nicht hin und weiss auch gar nicht woran der fehler liegt... dazu fehlt mir wohl ein ganzes stück basiswissen...

wäre nett, wenn mir da jemand behilflich sein könnte...
lg und viiieelen viiiiieelen dank schon mal

sia
sia ist offline   Mit Zitat antworten
Alt 17-10-2003, 14:28   #2 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
einfach die variable an di function übergeben.
ActionScript:
  1. function drawzoll(wert) {
  2.         if (Number(wert)){
  3.                 count++;
  4.                 duplicateMovieClip("line", "line"+count, count);
  5.                
  6.                 _root["line"+count]._y = 150;
  7.                 _root["line"+count]._rotation = count;
  8.                 _root["line"+count]._height = (wert * 100) * 1.8;
  9.                
  10.                 mcnum = count - 120;
  11.                
  12.                 if (count >= 120) {
  13.                         removeMovieClip("line" + mcnum);
  14.                 }
  15.         } }
  16.  
  17. drawzoll(VARIABLE)
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 17-10-2003, 14:40   #3 (permalink)
sia
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 81
hmm...

ja das problem is nur, daß ich mit der zweiten variable auch eine andere grafik ("line02") ansprechen will...

hab versucht die funktion einfach zu kopieren, und grafiknamen und variablen auszutauschen, zeigt mir aber trotzdem immer nur eine an...

obwohl er beide ausführt...

hat jemand eine idee?
so long sia
sia ist offline   Mit Zitat antworten
Alt 17-10-2003, 14:59   #4 (permalink)
sia
Neuer User
 
Registriert seit: Dec 2001
Beiträge: 81
noch ein kleiner nachtrag...
nehme an, daß das problem bei den levels liegt...

weiss da jemand eine effiziente lösung?
sia ist offline   Mit Zitat antworten
Alt 17-10-2003, 15:17   #5 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
übergebe der funktion halt alle werte die variabel sind.
ActionScript:
  1. function drawzoll(wert,name,tiefe)
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 17-10-2003, 15:19   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
die level werden sich natürlich überschneiden(da die duplizierten filme alle auf der selben ebene wie der originalclip liegen) da musste nen offset machen
sprich die level verschieben anstatt
duplicateMovieClip("name","neuername",level)
duplicateMovieClip("name","neuername",level+230)
ergibt ne verschiebung von 120
also level 120,121,122 usw

oder nen geliebten prototype:
ActionScript:
  1. Movieclip.prototype.drawzoll=function(wert,offset){
  2.                 this.count++;
  3.                 var p=this.duplicateMovieClip(this._name+this.count,this.count+offset);
  4.                 p._y = 150;
  5.                 p._rotation = this.count;
  6.                 p._height = (wert*100) * 1.8;
  7.                
  8.                 mcnum = this.count - 120;
  9.                 //hier den ersten duplizierten killen?hier steht doch immer 0
  10.                 //warum so kompliziert?
  11.                 if (this.count >= 120) {
  12.                         removeMovieClip("line" + mcnum);
  13.                 }
  14. }
  15. //oder interval etc
  16. //brauchst aber in beiden fällen ne gescheite abbruchsbedingung
  17. //die die wiederholung löscht
  18. deinOriginalClip.onEnterFrame=function(){
  19.     this.drawzoll(0.1,1,100)
  20. }

ich weiß zwar nicht was du vorhast
aber go on!

deluxe
Deluxe 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 13:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele