15.05.08, Martin Bommeli
Der Flashplayer 10 ist da
Year. Die beta version des Adobe Flash Player 10 (Astro) ist im Lab downloadbar.
Der neue Player kann auf die "Video Card" zugreifen. Das heisst der Flashplayer ist schneller den je.
Hier ein paar "Key Features":
- 3D Effects
- Peer to Peer (P2P)
- Custom Filters and Effects
- Advanced Text Layout
- Enhanced Drawing API
- Visual Performance Improvements
- Typed Arrays
- Dynamic sound generation
- GPU Blitting/Compositing
- FileReference (Gabs schon, aber neu muss das File nicht mehr zuerst auf dem Server gespeichert werden)
- Alle Infos und FlashPlayer download
- FlashPlayer 10 Demos
- FlashPlayer 10 Lab
- Pixel Blender Toolkit
05.03.08, Thileeban Thanapalan
Im Flash animierte Kerze / animated candle flame with adobe flash
YEAH, HAPPY BIRTHDAY TO YOU! Morgen feiern gleich 2 Restaurants ihr bestehen in der Wildnis, in Städten, welche hauptsächlich von Raubtieren belebt wird. Okey, es sind nicht irgendwelche Restaurants, sondern die Filialen tibits Bern (5 Jahre) und Winterthur (6 Jahre).
ACHTUNG, wenn du gerne ins tibits essen gehst, dann darfst du morgen nicht fehlen:Am Donnerstag, 6. März 2008, wird doppelt gefeiert: Das tibits in Bern feiert seinen 5. und das tibits in Winterthur seinen 6. Geburtstag. Als Dank für deine Treue erwartet dich an diesem besonderen Tag eine süsse kleine Überraschung. Komm vorbei, denn wir freuen uns auf deinen Besuch!
Schade nur, dass ich nicht mehr in Winterthur arbeite!!!
P.S: Auf den Geburtstag hin hiess es für uns «Happy Birthday Goodies» für auf die Theke zu entwerfen. Wir freuten uns sehr wieder etwas fürs tibits kreieren zu dürfen, und so machten unserere Praktikantin Jane und ich mich an die arbeit. Es ging sehr schnell und wir hatten einen passenden entwurf den man umsetzen konnte. Nur scheisse ist es, wenn der Flasher flach im bett liegt. Also musste der Ersatz-Flasher hin - das bin nämlICH! - So jetzt darf ich auch wiedermal mit Flash spielen, aber wirklich Zeit dafür habe ich nicht, da ja das Goodie Morgen Online sein sollte! Also gehe ich «schnell» auf google und suche nach ein paar Kerzen Animationen, welche man nur noch anpassen muss, hmm, schön wärs! Leider drängte dann auch schon die Zeit und ich musste selber etwas von Grund auf machen, aber es ist einfacher als es scheint! Ein bisschen Actionscript und etwas Form Tweenings und die Sache brennt wie am Schnürchen! Falls es jemanden interessieren sollte, lade ich gerne das source file hoch!
Mal schauen was der Flashjunior dazu meint ;)
Das wars auch schon, somit wünsche ich allen die das jetzt noch lesen, Gute Nachttt!
Kerzen Animation mit Flash
07.02.08, Martin Bommeli
AS3: Button unter einem MovieClip nicht anklickbar

Ich habe einen MovieClip der in sich selber einen Button (Grün) und einen MovieClip (Rot, leicht transparent) hat. Der rote MovieClip ist auf einer eigenen Ebene oberhalb des grünen Buttons. Nun, in as2 war es bislang immer so das der Button wie eine art durchscheinte und man sozusagen durch die oberliegenden MovieClips durchklicken konnte. Hier ein AS2 Beispiel... klappt wunderbar.
AS2
bitte Flash Player installieren!
/* Test 1 */
var btntest1_mc = mc_holder.btn_mc;
btntest1_mc.onPress = function(){dragit(this,1);}
btntest1_mc.onRelease = function(){dragit(this,0);}
/* Test 2 */
var btntest2_mc = mc_holder2.btn_mc;
btntest2_mc.onPress = function(){dragit(this,1);}
btntest2_mc.onRelease = function(){dragit(this,0);}
/* Test 3 */
var btntest3_mc = mc_holder3.btn_mc;
btntest3_mc.onPress = function(){dragit(this,1);}
btntest3_mc.onRelease = function(){dragit(this,0);}
Wie man sieht klappt dies bei allen drei Test. Nun das selbe Beispiel in AS3:
AS3
bitte Flash Player installieren!
Test 1:
Die grüne Fläche kann nicht durch den roten MC angeklickt werden
var btntest1_mc:MovieClip = mc_holder.btn_mc; btntest1_mc.buttonMode = true; btntest1_mc.addEventListener(MouseEvent.MOUSE_DOWN, onmousedown);
Test 2:
Ich dachte mir, vielleicht klappt es wenn ich den roten MC "mouseEnabled = false;" setze. Das würde gehen, wenn es keine weiteren MovieClips darin hätte. In meinem Fall habe ich aber noch einen gelben MC der im roten ist.
var btntest2_mc:MovieClip = mc_holder2.btn_mc; btntest2_mc.buttonMode = true; btntest2_mc.addEventListener(MouseEvent.MOUSE_DOWN, onmousedown); mc_holder2.top_mc.mouseEnabled = false;
Test 3:
Der Trick ist, man muss dem oberstgelegenen MC (in meinem Fall der rote) noch die Eigenschaft "mouseEnabled = false" geben...
var btntest3_mc:MovieClip = mc_holder3.btn_mc; btntest3_mc.buttonMode = true; btntest3_mc.addEventListener(MouseEvent.MOUSE_DOWN, onmousedown); mc_holder3.top_mc.mouseEnabled = false; mc_holder3.top_mc.mouseChildren = false;
Tataaaaaa... das Werk ist vollbracht.. naja. Bis auf das das halt startDrag in as3 nur noch ein Objekt mitdragt :-( (darum bleibt der Text stehen, obwohl er im gedragten MC ist). Das müsste man noch in eine onenterframe oder so packen und die x,y achse abfragen.. aber das war mir nach disen paar stunden, die ich für dieses Buttonproblem verschwendet habe, echt zu blöde.
Hier noch die FLA's mit den kompleten codes:
- AS3 File downloaden
- AS2 File downloaden
06.02.08, Martin Bommeli
AS3: Mehrere Methoden über ExternalInterface übergeben
Nehmen wir mal an, wir wollen eine JavaScript-Funktion die im html eingebettet ist, aus flash aufrufen.
function meineFunktion(arg1,arg2){
alert("test: "+arg1+" "+arg2);
}
Früher haben wir dazu einen getURL-Aufruf gemacht. Z.b:
getURL("javascrip:meineFunktion('77','blabla');","_self");
Seit Flash8 gibt es jedoch die Möglichkeit von JavaScript zu Flash und zurück zu kommunizieren. Hier ein Beispiel wie man eine JS-Funktion aufruft:
//import flash.external.ExternalInterface;
ExternalInterface.call("meineFunktion");
Die Argumente können jedoch nicht einfach Komma getrennt mitgegeben werden. Man benötigt jeweils noch einen "escape"..
//import flash.external.ExternalInterface;
var arg1:String = "77";
var erg2:String = "blabla";
ExternalInterface.call("meineFunktion",escape(arg1), escape(erg2));
25.01.08, Martin Bommeli
AS3: Bildbearbeitung in Flash

Wir sind momentan an einem grösseren Projekt für einen Kunden der unter anderem Serviettenbeutel herstellt. Im "AdminTool" kann der Kunde selber die "Muster" der Serviettenbeutel Hochladen. Hier ein kleiner Einblick hinter die Kulissen.

| 1 | Der Kunde kann mit einem Klick sein Bild browsen und auswählen (AS3: FileReference Funktion). |
| 1-2 | Sobald der Kunde sein Bild ausgewählt hat wird es per FileReference.upload() auf den Server geladen. |
| 2 | Auf dem Server bekommt das Bild einen Namen und wird temporär gespeichert. |
| 2-3 | Das temporär gespeicherte Bild wird ins Flash eingelesen (AS3: normaler URLRequest loader). |
| 3 | Das Bild wird in Flash abmaskiert und bekommt die Funktionalitäten um es zu bearbeiten. (AS3: bitmapData umwandlung). |
| 3-4 | Das bearbeitete bild wird in flash per BitmapData und einem jpgEncoder in einen ByteArray umgewandelt und an den Server gesendet. |
| 4 | Der Server empfängt die Daten (Raw post data) und Speichert dies auf dem Server. |
- Image exporter prototyp ansehen
- JPEG Encoder Sources
- Splashup (Online Bildbearbeitung a la Photoshop)
