(category) LIST of posts

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/

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;
}

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);
}

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

Flash components

flashscope.com: free-flash-components-for-your-stunning-projects
adobe.com s egen exchange

I hvilken forbindelse skal hvem gøre hvad

Skriftlig kontrol over funktionaliteten
Sammenligning med timeline og den manuelle kontrol

I HVILKEN FORBINDELSE – skal – HVEM – GØRE HVAD
Stil spørgsmålet rigtigt, bryd det op
“Jeg vil have man skal klikke på den og så skal den zoome op”

I HVILKEN FORBINDELSE -
På et bestemt tidspunkt (frame)
Kontinuerligt, i intervaller (Event, Timer)
Ved at musen — (Mouse-Event)
Ved en hændelse (Event-typer)
Hvis — (betingelse)

Sørg for at omstændigheder og forbindelser er tilgængelige, registreret, kan måles
trace noget – under den pågældende omstændighed

- HVEM
Objekt (MovieClip, Loader,..)

Sørg for at ojektet findes, er registreret, instancieret
Trace objektets navn, type , egenskaber..

- GØRE HVAD
Method (gotoAndPlay(parameter))
Kalde en funktion ()
Ændre værdi (Property value)
Ændre omstændighederne
Agere med begrænsning, itterativt (betingelser – loops…)
Producere et output (:type return)

Sørg for at funktionen / methoden findes, er registreret – at det den gør kan lade sig gøre, at påkrævede parametre er tilgængelige.
Trace output, type, ..