Kategorie 'Tutorials'


Paint-o-matic

Der Vollständigkeit halber in Bezug Painting Flash CS3: Matrix-Effekte mit Matrizen Ich möchte betonen, dass die Matrix nicht notwendig ist für das Verhalten in früheren Post angegeben. In der Tat sehen wir in dem folgenden Beispiel:

Loading Flash ...

Der Code unterscheidet sich geringfügig von der vorherigen, ist wie folgt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/ *
** ActionScript 2.0-Code
* /
. MouseEvent ; Import flash.events. MouseEvent ;
. Matrix ; flash.geom Importe. Matrix ;
/ / Flag zur Erkennung der mousedown
Boolean = false ; md var: Boolean = false;
/ / Create eine Tafel vor
Sprite = new Sprite ( ) ; var lvg1: Sprite = new Sprite ();
. lineStyle ( 0 , 0xffffff ) ; . lvg1 Grafiken lineStyle (0, 0xffffff).;
. beginFill ( 0x666666 ) ; .. lvg1 Grafiken beginFill (0x666666);
. drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg1 Grafiken drawRect (0, 0, 199, 199);
. endFill ( ) ; lvg1 Grafiken endFill ()..;
lvg1 ) ; addChild (lvg1);
= lvg1 . y = 30 ; lvg1 lvg1 x =. y = 30.;
/ / Erstellen Sie das Brett gekippt
Sprite = new Sprite ( ) ; var lvg2: Sprite = new Sprite ();
. lineStyle ( 0 , 0xffffff ) ; . lvg2 Grafiken lineStyle (0, 0xffffff).;
. beginFill ( 0x666666 ) ; .. lvg2 Grafiken beginFill (0x666666);
. drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg2 Grafiken drawRect (0, 0, 199, 199);
. endFill ( ) ; lvg2 Grafiken endFill ()..;
= 400 ; lvg2 x = 400.;
= lvg1 . y ; lvg2 y = y lvg1..;
= 45 ; . lvg2 Rotation = 45;
= lvg2 . scaleY = . 6 ; lvg2 scaleX = lvg2 scaleY =. 6..;
lvg2 ) ; addChild (lvg2);
/ /
/ / Paint-Ereignis
( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . lvg1 addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.);
( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . lvg1 addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.);
( MouseEvent . MOUSE_UP , _onMouseUp ) ; . lvg1 addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.);
/ /
e : MouseEvent ) : void { _onMouseDown Funktion (e: MouseEvent ): void {
"_onMouseDown" ) ; trace ("_onMouseDown");
: uint = 0xffffff ; var c: uint = 0xffffff;
. graphics . lineStyle ( 10 , c , 1 ) ; ... und Ziel Grafiken lineStyle (10, c, 1);
. lineStyle ( 10 , c , 1 ) ; .. lvg2 Grafiken lineStyle (10, c, 1);
. graphics . moveTo ( e . localX , e . localY ) ; .. und Ziel Grafiken moveTo (and. localX und localY.).;
. moveTo ( e . localX , e . localY ) ; .. lvg2 Grafiken moveTo (and. localX und localY.);
md = true;
}
/ /
e : MouseEvent ) : void { md = false ; } _onMouseUp Funktion (e: MouseEvent ): void {md = false;}
/ /
e : MouseEvent ) : void { _onMouseMove Funktion (e: MouseEvent ): void {
"_onMouseMove" ) ; trace ("_onMouseMove");
md ) { if (md) {
. graphics . lineTo ( e . localX , e . localY ) ; . und Ziel Grafiken lineTo (and. localX und localY.)..;
. lineTo ( e . localX , e . localY ) ; .. lvg2 Grafiken lineTo (and. localX und localY.);
}
}

In diesem Fall die Zeilen 22 bis 25 zeigen, dass auch mit einfachen Drehung und Verschiebung Effekt wird wiederholt.

Fortsetzung ...

Malerei Flash CS3: Matrix-Effekte mit Matrizen

Herumspielen mit der leistungsstärksten und vielseitigsten Objekt Matrix (Matrix), verbunden mit den Veränderungen, können Sie bizarre Dinge. Diese Tools werden verwendet, um spezielle Transformationen auf ein visuelles Objekt, wie ein Sprite anzuwenden. Sie können zum Beispiel, skalieren, drehen oder verdrehen (Skew) ein Sprite. e rotation ), per l'effetto Skew bisogna ricorrere direttamente alle matrici. Während die ersten beiden Funktionen (Skalierung und Rotation) Sprite-Objekte (nicht nur) zur Verfügung stellen direkt mit den Eigenschaften ( scaleX / scaleY und rotation ), sollte der Skew-Effekt direkt Appell an die Matrizen. Was ich möchte hier betonen, dass, wenn wir ein grafisches Objekt ändern alle seine internen Koordinaten verschoben werden:

Fortsetzung ...

Erstellen Sie eine Schaltfläche mit Photoshop Fotorealistische

wg1

Fotorealistische Button mit Photoshop Heute bin ich in der Stimmung für Grafiken Tipps! Wir werden sehen, Schritt für Schritt, wie man einen Schlüssel (eine Tastatur) mit fotorealistischen Photoshop machen.

Fortsetzung ...

Google Maps Komponente für Flash

AFComponents UMAP

Google hat APIs - Javascript - um ihre Karten in jedem Web-Site setzen wetteiferten, wie die gleiche Sache mit Flash zu erreichen.!

Bild Wir beginnen mit einer kostenlosen Komponente, UMAP (Universal ActionScript 3.0 Mapping API - Integriert mit Google Maps), entwickelt von AFComponents , eine vertikal organisierte Unternehmen von Komponenten für Flash / Flex wirklich interessant und erschwinglich. Auf dem Gelände, wo man sich registrieren um die Vorteile der kostenlosen Downloads brauchen, gibt es auch Versionen von UMAP für ActionScript 2.0: MAP G Ver.2.6.1 . In diesem Fall werden wir analysieren die Version 0.4 Beta UMAP für ActionScript 3.0 (in der Verpackung gibt es auch eine Flex-Komponente). Das werden wir sehen, ist - natürlich - eine Beta-Version und es fehlt daher einige Funktionen in der Version für ActionScript 2.0 ( G Ver.2.6.1 MAP ). Allerdings Wächter in die Zukunft, es interessanter, die Aufmerksamkeit auf dieses Release zu konzentrieren scheint, ich versuchten beide, und trotz der Freilassung von mehr komplett für Actionscript 2.0, ist Actionscript 3.0 Beta-Version deutlich stärker.

Fortsetzung ...

Die neuen Werkzeuge von Adobe Photoshop CS3 Extended

Adobe Photoshop CS3 Extended

Die Glücklichen, als mich auf die neue haben Adobe Photoshop CS3 - Extended Version - es wird "grogiolato" an alle die Nachricht von dieser neuen Version zu sehen. Unter den vielen neuen Funktionen in Version 10.0.1 vor allem zwei schlug mich für ihre äußerst nützlich. Das erste ist das Schnellauswahl-Werkzeug:

Bild

Dies ermöglicht zum Beispiel, "cut out" ein Objekt in einer einfach und effektiv. Einmal ausgewählt, einfach auf das Bild, das wir zu erfassen klicken und der Rest ist ihm. Sie können während dieses Prozesses, entfernen Sie alle Auswahlen, die nicht genügen, uns in der Regel mit der Alt-Taste (unter Windows - die eine für die Auswahl elimnare gemeinsam mit anderen Tools verwendet). Außerdem in der oberen Symbolleiste können Sie die Breite des "Pinsels" die Auswahl, bis Sie Pixel für Pixel Arbeit zu bekommen.

Diese Funktion ist perfekt mit der zweiten Neuerung in gefunden gekoppelt Adobe Photoshop CS3 verfeinern Edge, das Sie über das Menü auswählen (Alt + Strg + R) lautet:.

Kantenkorrektur

Bei einer Auswahl, ermöglicht dieses Tool Ihnen eine Reihe von Schritten wirklich nützlich und interessant durchzuführen, mit einer Echtzeit-Vorschau einstellbar trmite jene Bilder, die Sie sehen am unteren Rand des Fensters oben. Neben der nützlich für die Verbesserung der Betriebsabläufe an den Kanten und Konturen Auswahl, können Sie auch Arrangements von einfachen Bildern zu machen, wie die unten dargestellt:

Kantenkorrektur

Von den Roh-und "square" Bild des linken, indem verfeinern Edge hat in einem Moment der Figur des rechten angekommen.

Video ansehen

Fortsetzung ...

Flash CS3: Das neue Event-Handling

Schließlich mit ActionScript 3.0 nicht mehr zwei verschiedene Management von Veranstaltungen, wie sie vor ActionScript 2.0 (siehe: Hat Event-Management: Ähnlichkeiten zwischen Flash und Javascript ). Die Methode addEventListener() , allgegenwärtig in der neuen Architektur ermöglicht die Verwaltung neu und außergewöhnlich sauber alle möglichen Ereignisse, auch persönliche. Die neue Organisation in dem Paket können Sie die Ereignisse, denen wir dienen und behandeln alle gleich zu importieren:

1
2
3
4
/ / Events
. KeyboardEvent ; Import flash.events. KeyboardEvent ;
. MouseEvent ; Import flash.events. MouseEvent ;
. Event ; Import flash.events. Ereignis ;

Fortsetzung ...

Flash CS3: TextField.appendText ()

Flash CS3 hat sehr viele Neuerungen, darunter die "neugierig" auf die zum Zeitpunkt der Erstellung einige Tipps zum Schreiben von Code angeben. Dies geschieht zum Beispiel, wenn wir es mit Objekten zu tun TextField . Ich habe einen String an das Ende eines Feldes hinzufügen TextField mit der klassischen Schreibweise:

1
+ = "Stringa aggiunta" ; . mioTextField_txt text + = "string Hinzufügen";

Aber hier ist, dass ActionScript 3.0, beim Ausfüllen des Films, I (Warning) Filz - oder empfohlen:

Warning: 3551: Hinzufügen von Text an ein TextField mit + = ist um ein Vielfaches langsamer als die Verwendung der TextField.appendText ()-Methode.

Cool! Mal sehen, die Tatsache der Methode SYNOPSIS appendText() tatsächlich sagt:

) applicata a una proprietà text (ad esempio <strong>someTextField.text += moreText</strong> ), in particolare nel caso di un campo di testo con una quantità di contenuto significativa. Hängt die Zeichenfolge angegebenen newText am Ende das Textfeld ein. Diese Methode ist effizienter als eine Ergänzung Zuweisung ( += ) Eigenschaften angewendet, um eine text (z. B. <strong>someTextField.text += moreText</strong> ), insbesondere im Fall von ein Textfeld mit einer signifikanten Menge von Inhalten.

Wir vertrauen? Um die Sicherheit zu überprüfen:

1
2
3
4
5
6
7
8
9
. getTimer ; flash.utils Importe getTimer.;

uint = 0 ; var i: uint = 0;
int = getTimer ( ) ; var s: int = getTimer ();
i ; i < 10000 ; i ++ ) { for (i, i <10000; i + +) {
+ = "Ciao" ; text_txt + text = "Hallo".;
}
int = getTimer ( ) ; var f: int = getTimer ();
f - s ) ; trace (f - s);

Zeit: 9360 - auf meinem Rechner im Debug-Modus. Versuchen wir, wie durch den Compiler empfohlen:

1
2
3
4
5
6
7
8
9
. getTimer ; flash.utils Importe getTimer.;

uint = 0 ; var i: uint = 0;
int = getTimer ( ) ; var s: int = getTimer ();
i ; i < 10000 ; i ++ ) { for (i, i <10000; i + +) {
( "Ciao" ) ; . text_txt appendText ("Hallo");
}
int = getTimer ( ) ; var f: int = getTimer ();
f - s ) ; trace (f - s);

Zeit: 8415 ;)

Nichts Besonderes ... aber es ist wahr! ). Die Methode appendText() ist schneller und leistungsfähiger Pre-incremental-Operator ( += ). Warum? Der offensichtlichste Grund ist wie folgt: Der Operator ( += ) funktioniert auf jeder Art von Daten. Darüber hinaus in einer OO-Sprache dieses Operators ist nicht wie in C strukturiert, sondern einfach ein "Objekt". In C + +, zum Beispiel, können Sie überschreiben (Override) der Betreiber im Rahmen der Struktur des Objekts Sprache. Letztlich appendText() ist schneller, weil ihr Ziel ist es, "hängen" einen String und somit nicht wissen viele "Fragen" in ihm. Der Betreiber ( += ) sollte jedoch für jede Art von Daten zu arbeiten und ist deshalb nicht für Strings optimiert. In C, im Gegenteil, der Betreiber ( += ist) eine Funktion der Low-Level und wird immer schneller als ein Aufruf einer Funktion.

Fortsetzung ...

Flash CS3: Kommunikation mit einem Web-Server

ActionScript 3.0 enthält eine Reihe von gewaltigen Instrumente der Kommunikation, einige völlig neue, teilweise überarbeitet und verbessert von früheren Versionen von ActionScript. Wir beginnen zu sehen, wie es die Art und Weise der Interaktion mit einem Web-Server im Falle eines einfachen Kommunikation zwischen Flash und PHP-Seite mit der XML-Antwort Veränderungen. Vor allem das Objekt XML existiert nicht mehr! ActionScript 3.0 wurden neue Klassen wurden, von denen einige auf die "Abwärtskompatibilität" gewidmet.

Hinweis: Die XML-Klasse (zusammen mit zugehörigen Klassen) von ActionScript 2.0 umbenannt wurden XMLDocument und zog in die flash.xml Paket. Es ist in ActionScript 3.0, um die Kompatibilität mit früheren Versionen zu gewährleisten.

usando il metodo sendAndLoad() dell'oggetto LoadVars (vedi: Flash: LoadVars e XML per inviare dati in POST ). In ActionScript 2.0 Kommunikation mit einem Web Server wurde oft durch die einzigartige Kombination von Objekten gelöst LoadVars und XML, mit der Methode sendAndLoad() -Objekt LoadVars (siehe Flash: LoadVars-und XML-Daten in POST senden ). Nun liegen die Dinge ändern sich, aber Sie gerade einen neuen Namen und Objekte zu gewöhnen. Wie im Handbuch, in der Tat angezeigt:

Fortsetzung ...

Erstellen Sie eine Schneeflocke in Flash

Einige Leser haben mich gefragt, wie es die Schneeflocke, so realistisch, entstand das Widget Weihnachten . Diejenigen, die die Quelle, die Sie wahrscheinlich schon wissen, heruntergeladen haben ... aber es war wirklich einfach. Zuerst wählte ich den Pinsel in Flash, und ich zog einen Punkt.

SchneeflockeSchneeflocke

Ich drehte mich um diese in ein Symbol und bewarb ich mich zwei Effekte in der richtigen Reihenfolge: Kegel-und Unschärfe:

SchneeflockeSchneeflocke

Das Ergebnis war: Schneeflocke

An diesem MovieClip (Symbol) mit einer einfachen Klasse I zugeordnet CNeve , die tatsächlich schafft die Intelligenz der Grundnahrungsmittel selbst:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
MovieClip { Cneve Klasse erweitert MovieClip {
_interval ; private var _interval;
_maxy : Number ; _maxy private var: Anzahl ;
/ /
Cneve function () {
this , "_move" , 25 ) ; _interval = setInterval (this, "_move", 25);
round ( ( Stage . height + 256 ) / 2 ) + _getRndRange ( - 20 , - 7 ) ; _maxy = Math . round (( Stufe Höhe + 256) / 2.) + _getRndRange (- 20, - 7);
}
/ /
_getRndRange ( min : Number , max : Number ) : Number { private function _getRndRange (min: Anzahl , max: Anzahl ): Anzahl {
Number = Math . floor ( Math . random ( ) * ( max - min + 1 ) ) + min ; var randomNum: Anzahl = Math . floor ( Math . random () * (max - min + 1)) + min;
randomNum return;
}
/ /
_move ( ) { _move private function () {
1 , 5 ) ; _getRndRange _y + = (1, 5);
_getRndRange ( - 50 , 50 ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (- 50, 50))> 0) 1: -? ​​1;
1 , 5 ) ; _getRndRange _rotation + = (1, 5);
_y > _maxy ) { if (_y> _maxy) {
_interval ) ; clearInterval (_interval);
}
; updateAfterEvent ();

}
}

Die Methode _move() enthält die Intelligenz der Grundnahrungsmittel, die die Funktion eines Sturzes ist sehr einfach. Durch Variation der Random-Funktion _x += ((_getRndRange(-50, 50))&gt;0) ? 1 : -1;, si può aggiungere un effetto effetto vento, cioè i fiocchi cadono con una pendenza particolare. _x += ((_getRndRange(-50, 50))&gt;0) ? 1 : -1;, zum Beispiel durch das Einfügen eines _getRndRange(-550, 50), können Sie einen Effekt hinzufügen Wind Effekt, dass die Flakes mit einer bestimmten Steigung fallen. Insbesondere können die Flocken auf der rechten Seite geschickt und links mit einem Code wie folgt aus:

1
_getRndRange ( _getRndRange ( - 350 , - 50 ) , _getRndRange ( 50 , 350 ) ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (_getRndRange (- 350, - 50), _getRndRange (50, 350)))> 0) 1: -? ​​1;

Die Rotation ( _rotation += _getRndRange(1, 5); ) ergibt dies ein weiteres Detail, um den Bogen selber.
e uno scale randomico, per avere fiocchi di neve di diverse dimensioni. Wenn ich einen Bogen (siehe Funktion erstellen creaFiocco() unten) I Außerdem wurde ein alpha=90 Stufen und eine zufällige, um Schneeflocken in verschiedenen Größen zu haben.

1
2
3
4
5
6
7
8
9
10
11
12
/ / Heftung erstellen
creaFiocco function () {
20 , 100 ) ; randRange var s = (20, 100);
= randRange ( - Math . floor ( ( Stage . width - 320 ) / 2 ) , Math . round ( ( Stage . width + 320 ) / 2 ) ) ; randRange var x = (- Math floor ((. Stufe Breite - 320) / 2),. Math round ((. Stufe Breite + 320) / 2).);
= - Math . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var = y - Math Etage (((. Stufe Höhe - 256) / 2).) - 10;
"neve" , "neve_" + index , index , { _x : x , _y : y , _xscale : s , _yscale : s , _alpha : 90 } ) ; . c_mc attachMovie ("Schnee", "neve_" + index, index, {_x: x, _y: y, _xscale: s, _yscale: s, _alpha: 90});
index + +;
index > 1000 ) { if (index> 1000) {
; index = 1;
, 2 ) ; c_mc = createEmptyMovieClip ("c_mc", 2);
}
}

Und das ist alles ... ;) Ich vergaß ... Frohe Feiertage und die besten Wünsche an alle ... ;)

Fortsetzung ...

Flash: TextField deaktivieren Sie einen Eingabemodus

Wie kann ein behinderter TextField Eingabemodus Da die Eigenschaft enabled ist nicht verfügbar, können Sie eine einfache Kunstgriff: change Laufzeit Zustand der TextField. Glücklicherweise sind die Flash-Entwicklern erlaubt, den Status eines TextField auch durch das Grundstück führen zu ändern type . Daraus folgt, dass, wenn ein TextField auf die Bühne als Eingabe (und damit hinzugefügt wird type="input" ), durch den Code, können wir es in einem Text "static" abbiegen. In Wirklichkeit verwandeln sie in dynamischen Text ( type="dynamic" ), sondern das visuelle Ergebnis ist das gleiche. Der Kunstgriff funktioniert, weil sowohl die TextField TextField Eingabe der dynamischen Eigenschaften den gleichen Anteil text . Also, wenn ich einen Text in einem TextField-Eingang, wenn sie in eine dynamische TextField verwandelt haben nur den Eindruck, nicht in der Lage, um Zeichen zu setzen! Dass ich die TextField-Eingang deaktiviert!

Das TextField-Objekt kann auch als MovieClip erweitert werden, dann können wir mit dem folgenden Code nützlich sein:

1
2
3
prototype . Enabled = function ( v : Boolean ) { TextField . Prototyp Enabled = function (v:. Boolean ) {
type = v ? "input" : "dynamic" ; .? dieses v type = "input": "dynamic";
};

Fortsetzung ...