Flash: BlendMode
Saturday, January 23rd, 2010Gute Übersicht über die Flash-BlendModes in den Adobe Livedocs. Auch interessant für Photoshop-Benutzer (dort heißt es “Füllmethode”), natürlich
Danke an Ben.
Gute Übersicht über die Flash-BlendModes in den Adobe Livedocs. Auch interessant für Photoshop-Benutzer (dort heißt es “Füllmethode”), natürlich
Danke an Ben.
…findet sich bei barcinski-jeanjean.com – Danke, Alex. Anmerkung: Ich musste mein Flex aktualisieren; keine Ahnung, ob Flex 3.4 erforderlich ist, aber mit 3.1 ging es bei mir nicht.
Funktioniert nicht:
private function foo():void
{
var fileRef : FileReference = new FileReference();
var myRequest: URLRequest = new URLRequest(“http://www.google.com/test.mp3″);
fileRef.download(myRequest);
}
Funktioniert:
private var _fileRef : FileReference = new FileReference();
private function foo():void
{
var myRequest: URLRequest = new URLRequest(“http://www.google.com/test.mp3″);
_fileRef.download(myRequest);
}
Quelle: http://kb2.adobe.com/cps/363/3637d5c3.html
HTH
Man liest von ExternalInterface-Problemen, die darauf basieren, dass von Javascript aus AS-Funktionen aufgerufen werden, bevor das SWF geladen ist – etwa bei onLoad. Als Lösung gilt: “Rufe aus dem SWF heraus eine JS-Funktion auf. Dann (und erst dann) weiß JS, dass das SWF bereit ist.”
So weit, so gut.
Was man dazu wissen muss, und was man [...]
Problem: Man lädt eine externe SWF, und möchte dieser Flashvars übergeben. Die externe SWF ist in AS2 geschrieben, die eigentliche Anwendung in AS3.
Lösung:
private var _loader:Loader;
private function loadSWF():void
{
var variables:URLVariables = new URLVariables();
variables.name = “Homer”;
variables.essen = “Biernuesse”;
var request:URLRequest = new URLRequest( “file.swf” );
request.data = variables;
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onSWFLoaded );
try
{
_loader.load( request, new LoaderContext(false, ApplicationDomain.currentDomain) );
}
catch(error:Error){}
}
private function [...]
Leider ist die Position des Cursors
tf.caretIndex
schreibgeschützt, aber wer “nur” den Cursor an’s Ende des Textes bewegen will (etwa, weil er einen String vor die aktuelle Eingabe gehängt hat), der nutze:
tf.setSelection( tf.text.length, tf.text.length );
hth.
Kollege Nöthe hat sich in den letzten Wochen mit Design Patterns beschäftigt – am Beispiel des großartigen “Entwurfsmuster von Kopf bis Fuß“, und am Object “Actionscript 3″. Das Ergebnis steht in seinem Lab, und ist sicher einen Blick wert, wie ich ihn kenne.
Wer jemals in die Verlegenheit kommt, zwischen Actionscript und Java kommunizieren zu müssen: Hier als eine mögliche Lösung, eine Socket-Verbindung. Zuerst auf Java-Seite:
import java.net.ServerSocket;
import java.net.Socket;
// …
// Port öffnen; Portnummer angeben:
ServerSocket mySocketServer = new ServerSocket(2001);
// nur Windows-Systeme:
Runtime.getRuntime().exec(“startflash.bat”);
Socket mySocket = mySocketServer.accept();
// Der Socket-Server kann geschlossen werden,
// da die Verbindung besteht
mySocketServer.close();
Über diese Verbindung kann nun byteweise geschrieben werden [...]
// — Neues Sprite anlegen
var sprite = new Sprite();
// — Sprite mit roter 100×100 Flaeche fuellen
sprite.graphics.beginFill( 0xff0000, 0.5 );
sprite.graphics.drawRect( 0, 0, 100, 100 );
sprite.graphics.endFill();
// — Sprite soll Maus-Ereignisse empfangen…
sprite.buttonMode = true;
sprite.addEventListener( MouseEvent.MOUSE_UP, doSomething );
// — …Mauszeiger soll dabei nicht zu einer “Hand” werden
sprite.useHandCursor = false;
// — Sprite zur Buehne hinzufuegen:
addChild( sprite );
Tja, gewusst wie (Danke, [...]
Wenn ich in der Flash IDE ein Textfeld anlege, um dessen Inhalt später dynamisch zu ändern, muss ich alle potentiellen Zeichen einbetten – jedenfalls für Nicht-Standard-Fonts. So weit, so klar. Aber Obacht: Wenn das Textfeld auf “Bold” steht (roter Kreis), werden diese Zeichen auch nur in Bold eingebettet!
Werden in der IDE noch fehlerfrei funktionierende Zeichen [...]