Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-03-2005, 14:41   #1 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
mc nach textfeld skalieren

aloha leute!

folgendes problem;

bei meinen seiten erstelle ich immer einen link-prototypen;

sieht so aus, das ich ein dynamisches textfeld erstelle und dieses in ein mc einbinde;und dann beliebig oft auf der bühne kopiere und einen neuen instanznamen vergebe; das textfeld ist nur einen buchstaben breit und hat
ActionScript:
  1. linkname_txt.autosize =" center"
beim prototypen geb ich dann alle parameter an, und beim funktionsaufruf gebe ich den parametern dann werte
zb:
ActionScript:
  1. MovieClip.prototype.link = function(linkname, input, X, Y) {
  2.     var target = this._x;
  3.     this.T_linkname.autoSize = "center";
  4.     this.T_linkname.text = linkname;
  5.     this.T_linkname.textColor = "0xFFFFFF";
  6.     this.overlink.T_linkname.autoSize = "center";
  7.     this.overlink.T_linkname.background = true;
  8.     this.overlink.T_linkname.backgroundColor = "0x0066FF";
  9.     this.overlink.T_linkname.textColor = "0x0066FF";
  10.     this.overlink.T_linkname.text = linkname;
  11.     this.underlink._alpha = 0;
  12.     this.underlink.T_linkname.autoSize = "center";
  13.     this.underlink.T_linkname.background = true;
  14.     this.underlink.T_linkname.backgroundColor = "0xFF0000";
  15.     this.underlink.T_linkname.textColor = "0xFF0000";
  16.     this.underlink.T_linkname.text = linkname;
  17.     if (this != active) {
  18.         this.enabled = true;
  19.         this.onRollOver = function() {
  20.             this.overlink.onEnterFrame = function() {
  21.                 if (this._alpha>=0) {
  22.                     this._alpha -= 10;
  23.                 } else {
  24.                     this._alpha = 0;
  25.                     delete this.onEnterFrame;
  26.                 }
  27.             };
  28.             this.underlink.onEnterFrame = function() {
  29.                 if (this._alpha<=100) {
  30.                     this._alpha += 10;
  31.                 } else {
  32.                     this._alpha = 100;
  33.                     delete this.onEnterFrame;
  34.                 }
  35.             };
  36.         };
  37.     }
  38.     this.onRollOut = function() {
  39.         if (this != active) {
  40.             this.overlink.onEnterFrame = function() {
  41.                 if (this._alpha<=100) {
  42.                     this._alpha += 10;
  43.                 } else {
  44.                     this._alpha = 100;
  45.                     delete this.onEnterFrame;
  46.                 }
  47.             };
  48.             this.underlink.onEnterFrame = function() {
  49.                 if (this._alpha>=0) {
  50.                     this._alpha -= 10;
  51.                 } else {
  52.                     this._alpha = 0;
  53.                     delete this.onEnterFrame;
  54.                 }
  55.             };
  56.         }
  57.     };
  58.     this.onPress = function() {
  59.         _root.MC_mainHolder.unloadMovie();
  60.         _root.MC_mainHolder.loadMovie(input);
  61.         _root.MC_mainHolder._x = X;
  62.         _root.MC_mainHolder._y = Y;
  63.         _global.active.enabled = true;
  64.         _global.active.overlink.onEnterFrame = function() {
  65.             if (this._alpha<=100) {
  66.                 this._alpha += 10;
  67.             } else {
  68.                 this._alpha = 100;
  69.                 delete this.onEnterFrame;
  70.             }
  71.         };
  72.         _global.active.underlink.onEnterFrame = function() {
  73.             if (this._alpha>=0) {
  74.                 this._alpha -= 10;
  75.             } else {
  76.                 this._alpha = 0;
  77.                 delete this.onEnterFrame;
  78.             }
  79.         };
  80.         _global.active.onEnterFrame = function() {
  81.             if (this._y>=110) {
  82.                 this._y -= 2;
  83.             } else {
  84.                 this._y = 110;
  85.                 delete this.onEnterFrame;
  86.             }
  87.         };
  88.         if (this != _global.active) {
  89.             this.overlink._alpha = 0;
  90.             this.underlink._alpha = 100;
  91.             this.onEnterFrame = function() {
  92.                 this._y += 2;
  93.                 if (this._y>=120) {
  94.                     this._y = 120;
  95.                     delete this.onEnterFrame;
  96.                 }
  97.             };
  98.             //**linkball**//
  99.             _root.MC_linkball._visible = true;
  100.             _root.MC_linkBall.onEnterFrame = function() {
  101.                 this._x += (target-this._x)/10;
  102.             };
  103.         }
  104.         _global.active = this;
  105.         this.enabled = false;
  106.     };
  107. };
  108. MC_home.link(" HOME ", "home.swf");
somit habe ich immer individuell breite links, und wenn ich,so wie in diesem beispiel, noch davor eine hintergrundfarbe für das textfeld definiere, habe ich genau für den linknamen einen "hintergrund";
ist ja soweit so gut;
nur habe ich halt immer nur ein rechteck als hintergrund,mit dem ich mich mit dessen eigenschaften nicht wirklich viel spielen kann, weil ein dynamisches textfeld ja nicht soviel mitmacht, wie ein movieclip- weil viel geht designmäßig mit einem textfeld nicht(oder?);

jetzt meine frage:
einen design_mc erstellen und ihn vorerstmal "unsichtbar" machen, ist ja kein problem;
aber wie kann ich diesen mc per as an der größe jedes "links" individuell skalieren? weil
ActionScript:
  1. design_mc._xscale = link_mc.linkname_txt._width //funktioniert nicht;
  2. design_mc._width = link_mc.linkname_txt._width //funktioniert auch nicht;
  3. design_mc._xscale = link_mc._width //funktioniert auch nicht;
  4. design_mc._width = link_mc._width //funktioniert auch nicht;
  5.  
bei diesen zwei versuchen orientiert sich das design_mc an der größe der link_mc's auf der bühne und nicht an der größe nach funktionsaufruf;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (06-03-2005 um 14:43 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 06-03-2005, 15:17   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 276
Hi.

Versuch doch mal:

design_mc._width = link_mc.T_linkname.textWidth;
design_mc._width = link_mc.T_linkname._width.

Du musst doch die Textfeldinstanz ansprechen.
Oder komm ich gerade mit "T_linkname" und "linkname_txt" durcheinander?

GRUSS
zirkumflex
zirkumflex ist offline   Mit Zitat antworten
Alt 06-03-2005, 17:41   #3 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
Thumbs up

merci beaucoups!
ActionScript:
  1. MC_design._width = MC_fliegengitter.T_linkname.textWidth +2;

T_linkname.textWidth .......diese Eigenschaft habe ich irgendwie verschwitzt....
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti 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 22:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele