Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-07-2005, 10:45   #1 (permalink)
Neuer User
 
Benutzerbild von wicke
 
Registriert seit: Jul 2005
Ort: Koblenz
Beiträge: 5
shape tweening mit actionscript

hi,

ich möchte mir dynamisch buttons erstellen, die an die länge des buttontextes angepasst sein sollen. weil die linien trotzdem immer gleich dick sein sollen, fällt skalieren einen fertigen movieclips flach. (jedenfalls soweit ich das verstanden hab, korrigiert mich wenn ich falsch liege)
ausserdem soll der button animiert sein, also beim mouseover soll eine kleine ani abgespielt werden, die ich mit actionscript generieren möchte. ich dachte einfach an eine linie, die sich unter dem button langsam zeichnet.
ich wollte dafür zwei movieclips erzeugen, einen mit einem punkt, und einen mit der linie, und dann zwischen ihnen ein shapetweening mit actionscript dynamisch erzeugen.

herauszukriegen wie lang der Text ist, ist grad noch nicht ( das kommt später ) das problem. ich würde gern wissen, wie ich den tween erzeugen kann.

viele Grüße,
Daniel
wicke ist offline   Mit Zitat antworten
Alt 19-07-2005, 13:45   #2 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

siehe Anhang;

wichtig: die linie zeichnest nicht mit linienwerkzeug, sondern mit rechteckwerkzeug!!!
Angehängte Dateien
Dateityp: rar textAni.rar (4,8 KB, 42x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (19-07-2005 um 13:59 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 19-07-2005, 14:10   #3 (permalink)
Neuer User
 
Benutzerbild von wicke
 
Registriert seit: Jul 2005
Ort: Koblenz
Beiträge: 5
ja besten dank !

da is ne menge zeugs drin, dass ich noch nicht kannte. da werd ich wohl erst mal ne ganze weile die hilfe von flash durchackern, bis ich das raffe

bis denne,
wicke
wicke ist offline   Mit Zitat antworten
Alt 19-07-2005, 14:17   #4 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
keine fla?
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 19-07-2005, 14:22   #5 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
ActionScript:
  1. //mit "MovieClip.prototype" kannst du dann jedem mc sagen, er soll diese function aufrufen:
  2. //"this" bezieht sich innerhalb des prototypen immer auf den aufrufer
  3. MovieClip.prototype.link = function(bezeichner, ziel) {
  4.     this.MC_line._width = 0;
  5. //textfeldformatierung
  6.     this.T_testTextfeld.autoSize = "left";
  7.     this.T_testTextfeld.border = true;
  8.     this.T_testTextfeld.borderColor = "0xFF3300";
  9. //textfeld bekommt den ersten parameter aus dem aufrufer der function, siehe ganz unten dann:
  10.     this.T_testTextfeld.text = bezeichner;
  11.     this.onRollOver = function() {
  12. //so oft ein neuer frame kommt, soll sich die linie bis zur größe des mc's, in dem die linie liegt("_parent") vergrößern:
  13.         this.MC_line.onEnterFrame = function() {
  14.             this._xscale += 10;
  15.             //this._yscale = this._yscale;
  16.             if (this._width>=this._parent._width) {
  17. //wenn die größe erreicht wurde, das onEnterFrame-event löschen:
  18.                 delete this.onEnterFrame;
  19.             }
  20.         };
  21.     };
  22. //onRollout dann wieder umgekehrte animation:
  23.     this.onRollOut = function() {
  24.         this.MC_line.onEnterFrame = function() {
  25.             this._xscale -= 10;
  26.             //this._yscale = this._yscale;
  27.             if (this._width<=0) {
  28.                 delete this.onEnterFrame;
  29.             }
  30.         };
  31.     };
  32. //onPress, gehe zu link, der als zweiter parameter im aufrufer angeführt ist:
  33.     this.onPress = function() {
  34.         getURL(ziel, "_self");
  35.     };
  36. };
  37. //die aufrufer:
  38. MC_test.link("Heute habe ich aber einen langen Namen", "http://www.flashforum.de/forum");
  39. MC_test_2.link("Kurzer Name", "http://www.flashbattle.de/");
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (19-07-2005 um 14:25 Uhr)
andretti ist offline   Mit Zitat antworten
Alt 19-07-2005, 14:22   #6 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
Zitat:
Zitat von Alphanimal
keine fla?
is net dabei?
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 19-07-2005, 14:30   #7 (permalink)
Neuer User
 
Benutzerbild von wicke
 
Registriert seit: Jul 2005
Ort: Koblenz
Beiträge: 5
die fla war doch im zip ..
..aber der kommentierte code is noch hilfreicher !

Geändert von wicke (19-07-2005 um 14:32 Uhr)
wicke ist offline   Mit Zitat antworten
Alt 19-07-2005, 14:36   #8 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
ok, die fla war drin...
aber nur wenn ich mit WinRar entpacke
****** WinAce...

ok...
der code is aus der fla oder?

ich versteh nicht warum du für sowas extra des MC prototyp veränderst...
die link-funktion funzt sowieso nu in dem MC mit dem textfeld usw.
also warum nicht die function im MC definieren?

dann brauchst du auch nicht immer "this" schreiben
__________________
Some Flash Worx

Geändert von Alphanimal (19-07-2005 um 14:39 Uhr)
Alphanimal ist offline   Mit Zitat antworten
Alt 19-07-2005, 20:22   #9 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
wenn ich auf einer flash-basierenden webseite so ca. 10- 20 links habe, schreibe ich einmal(im prototype) die function, und rufe dann mit parameterübergabe auf:

ActionScript:
  1. _global.aktiv;
  2. //++++++++prototype:
  3. MovieClip.prototype.link = function(linkname, seite) {
  4.     this.T_linkname.autoSize = "left";
  5.     this.T_linkname.text = linkname;
  6.     this.onRollOver = function() {
  7.         if (this != _global.aktiv) {
  8.             this.MC_cubes._xscale = this.MC_cubes._yscale=120;
  9.             this.T_linkname.textColor = "0x6699CC";
  10.         }
  11.     };
  12.     this.onRollOut = function() {
  13.         if (this != _global.aktiv) {
  14.             this.MC_cubes._xscale = this.MC_cubes._yscale=100;
  15.             this.T_linkname.textColor = "0x99CC66";
  16.         }
  17.     };
  18.     this.onPress = function() {
  19.         if (this != _global.aktiv) {
  20.             clicker.start(0, 1);
  21.             clearInterval(_global.SID);
  22.             clearInterval(_global.loadID);
  23.             this.MC_cubes._xscale = this.MC_cubes._yscale=120;
  24.             _global.aktiv.MC_cubes._xscale = _global.aktiv.MC_cubes._yscale=100;
  25.             _global.aktiv.T_linkname.textColor = "0x99CC66";
  26.             blende(seite);
  27.             _global.aktiv.enabled = true;
  28.         }
  29.         this.enabled = false;
  30.         _global.aktiv = this;
  31.         this.T_linkname.textColor = "0x6699CC";
  32.     };
  33. };
  34. _root.MC_siteHolder.loadMovie("home.swf");
  35. _global.aktiv = MC_home;
  36. MC_home.MC_cubes._xscale = MC_home.MC_cubes._yscale=120;
  37. MC_home.T_linkname.textColor = "0x6699CC";
  38. MC_home.enabled = false;
  39. //---------------------------------------------link-aufrufer
  40. var links = [["MC_home", "Home", "home.swf"], ["MC_vorstellung", "Vorstellung", "vorstellung.swf"], ["MC_service", "Service", "service.swf"], ["MC_speisen", "Speisen", "speisen.swf"], ["MC_presse", "Presse", "presse.swf"], ["MC_kontakt", "Kontakt", "kontakt.swf"], ["MC_linktipps", "Linktipps", "linktipps.swf"], ["MC_impressum", "Impressum", "impressum.swf"]];
  41. var abstand = 30;
  42. for (k=0; k<=links.length; k++) {
  43.     var linkzahl = links[k];
  44.     var linkbutton = linkzahl[0];
  45.     var bezeichner = linkzahl[1];
  46.     var datei = linkzahl[2];
  47.     var mc = _root[linkbutton];
  48.     mc.link(bezeichner, datei);
  49. }
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary

Geändert von andretti (19-07-2005 um 20:25 Uhr)
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 06:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele