Farve-transformation
var myColor:ColorTransform = mc.transform.colorTransform; myColor.color = 0xFF0000; mc.transform.colorTransform = myColor;
Med nye værdier for hvert klik:
mc.buttonMode = true; mc.addEventListener(MouseEvent.CLICK, clickHandler); function clickHandler(e:MouseEvent):void { var rOffset:Number = transform.colorTransform.redOffset + 25; var bOffset:Number = transform.colorTransform.blueOffset - 25; mc.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0); }
Mere detaljeret:
http://www.republicofcode.com/tutorials/flash/as3colortransform/
Created: 1 January 2011 • by admin
Categories: snippet
Comments: be the first to comment
Load til og fra php
Følgende eksempel udgøres af en php-fill og en actionscript-fil, og viser en tovejs kommunikation, hvor begge filer læser og skriver variabler til hinanden.
PHP-filen
Det medsendte navn læses, og benyttes i forbindelse med en dato til en string output.
Bemærk at php-filen alene, i linket nedenfor, ikke viser noget navn i den sætning den genererer, fordi navnet ikke bliver sendt via dette link, og derfor ikke bliver læst:
http://curlingthebrackets.com/flash/php/sendAndLoad.php.
<?php $name = $_POST["navn"]; $time = date("F jS, Y"); echo $name .", datoen er ". $time; ?>
FLASH-filen
http://curlingthebrackets.com/flash/php/sendAndLoad.html
brugerfladen
- Et tekstfelt med egenskaben ‘input’, så bruger kan skrive til php: send_txt.
- Et tekstfelt med egenskaben ‘dynamic’, så bruger kan læse fra php: vis_txt.
- En knap så bruger kan sende og modtage: sendBut.
Actionscriptet
Samme objekter som med load php-eksemplet:
URLLoader – loader tekst
URLRequest – kommunikerer med en ekstern fil
Derudover:
URLRequest skal bruge værdier på yderligere 2 properties, for at kunne sende: data og method.
URLVariables – Til overførsel af variabler mellem filer
// Hvis problemer med at teste lokalt af-kommenteres følgende med domænenavn //Security.allowDomain("curlingthebrackets.com"); var phpLoader:URLLoader = new URLLoader();// phploader var flashVars:URLVariables = new URLVariables();// (ind- og) ud-bakke for flash var phpReq:URLRequest=new URLRequest("http://curlingthebrackets.com/flash/php/sendAndLoad.php"); // php-filen // adressen phpReq.data=flashVars;// udbakken med i forsendelsen phpReq.method=URLRequestMethod.POST;// forsendelsens overførsels-metode sendBut.addEventListener(MouseEvent.CLICK, sendRequest); function sendRequest(e:MouseEvent) { flashVars.navn = send_txt.text; // output fra flash // php's input phpLoader.load(phpReq); } phpLoader.addEventListener(Event.COMPLETE, showRespond); function showRespond(e:Event) { vis_txt.text = e.target.data; // php's output gennem phploaderen
Flere variabler
I nedenstående eksempel sender flash et navn og en score-værdi til php (som man kunne tænke sig blev skrevet ind i en database) – og får tilbage fra php et bestemt navn og en score-værdi (Det kunne være en vinder fra databasen med højeste pointværdi.)
Det viste data i flash-filen er således fra php, mens det sendte ikke er synligt.
link til php:http://curlingthebrackets.com/flash/php/score.php
link til flash:http://curlingthebrackets.com/flash/php/score.html
Variabelpar specificeres fra flash med URLVariables-objektet og de tilknyttede variabelnavne hver især.
Variabelpar fra php outputtes i en string adskilt med “&” (uden mellemrum til højre for “&”).
Variabelpar til flash udtrækkes også med et URLVariables-objekt, og tilknyttede variabelnavne.
PHP-filen
<?php // $_REQUESTudtrækker alle variabler sendt med GET eller POST extract($_REQUEST); /* $user og $score er nu klar til at bruge (fx. i forbindelse med database transaktioner) */ $user="ib"; $score = 10000000; // Output: variabelpar med de nye verdier, og adskilt med "&" // Uden mellemrum mellem & og variabelnavn! echo "user={$user}&score={$score} "; ?>
Actionscriptet
Den udkommenterede blok udgør funktionaliteten til de sendte variabler, for at vise den adskilt fra de hentede variabler (af hensyn til overblikket).
var req:URLRequest=new URLRequest("http://curlingthebrackets.com/flash/php/score.php"); /* var variables:URLVariables = new URLVariables(); variables.score = String(Math.floor(Math.random()*10)); variables.user = "Anders And"; req.data = variables; req.method = URLRequestMethod.POST ; */ var loader:URLLoader = new URLLoader(); loader.load(req); loader.addEventListener(Event.COMPLETE, RESPONSE); function RESPONSE(evt:Event):void { //trace(loader.data); var variables:URLVariables=new URLVariables(loader.data); //trace(variables.user +" - "+ variables.score ); user.text=variables.user; score.text=variables.score; }
Created: 1 January 2011 • by admin
Categories: php •snippet
Comments: be the first to comment
Load fra PHP
FlashVars metoden
Hvis variabler skal med i fswf-filen fra starten af dens egen load-proces, kan de overføres via html elementet: ‘object’, med parametret < param name="FlashVars" value=" vaiabel1="værdi"&variabel2="værdi" " / >.
FlashVars kræver et par linier Actionscript for at kunne bruge medsendte variabler, og er beskrevet i et indlæg for sig selv.
Variabler kan skrives direkte eller være resultatet af udregninger fra fx. php, javascript, asp.
NB: Data er synlig i kodevisningen
URLLoader metoden
PHP-filen
Eksemplet er en ultra-simpel php-genereret string.
Direkte link: http://curlingthebrackets.com/flash/php/loadtest.php
<?php $stringtest= "Dette er en string, som er genereret med php"; echo $stringtest; ?>
FLASH-filen
Selve flash filen i dette samme eksempel indeholder kun følgende script. Tekstfeltet som skal bruges til at vise php-output’et, er genereret i scriptet:
Demo: http://curlingthebrackets.com/flash/php/loadtest.html
URLLoader – loader tekst
URLRequest – kommunikerer med en ekstern fil
var phpLoader=new URLLoader; phpLoader.load(new URLRequest("http://curlingthebrackets.com/flash/php/loadtest.php")); phpLoader.addEventListener(Event.COMPLETE, useData); function useData(e:Event):void { var php:String=e.target.data.toString(); var ttt:TextField=new TextField(); ttt.width=500; ttt.text=php; addChild(ttt); }
Created: 1 January 2011 • by admin
Categories: php •snippet
Comments: be the first to comment
Send til php
Hvis der kun skal sendes nogle variabler videre til en php-fil fra flash, er det nemmeste at lægge dem i URL-adressen til php-filen. Med en tekst-link, eller med navigateToURL.
NB: Data er synligt i adresselinien
Created: 1 January 2011 • by admin
Categories: php •snippet
Comments: be the first to comment
Knapper i array
var files:Array=new Array("0.swf","1b.swf","3_load text_scroller.swf"); var buts:Array=new Array("but1","but2","but3"); // buts[0] er "but1", buts[1] er "but2", osv.
Her kan loader funktionaliteten indflettes
for (var b:uint; b<buts.length; b++) { var but:Object=getChildByName(buts[b]); but.addEventListener(MouseEvent.CLICK, butClick); // hver but får sin egen variabel:fil med tilknyttet filnavn but.fil="eventuel_undermappe/"+files[b]; } function butClick(e:MouseEvent) { SoundMixer.stopAll(); ldr.load(new URLRequest(e.target.fil)); }
Created: 5 October 2009 • by admin
Categories: events •navigation •snippet
Comments: be the first to comment
FLVPlayback script bits
Grundlæggende scripting til video kontrol
Dynamisk instanciering
Træk en FLVPlayBack- component ind på scenen og slet den igen, så havner den i Library og kan instancieres dynamisk.
(library > properties > export for actionscript)
import fl.video.FLVPlayback; var player:FLVPlayback = new FLVPlayback(); addChild(player);
(eller – manuelt / automatisk: (ved import) indsat FLVPlayback med instancenavnet ‘player’)
Nyttige Methods
player.play(); player.stop(); player.pause();
Nyttige Properties
player.autoPlay=false; player.autoRewind=true; if (player.playing) {//...;} // read-only boolean player.source="nyvideo.flv";
Nyttige Events
player.addEventListener(Event.COMPLETE, comp); function comp(e:Event){ trace(e.target.name+" is completed"); gotoAndStop("some_label"); // for fx. at gå videre til noget nyt player.play(); // for loop - om igen }
Adobes reference for FLVPlayback
adobe quickstart flvplayback_component
Created: 4 October 2009 • by admin
Categories: snippet •video
Comments: be the first to comment
