Archief voor de 'ActionScript' Categorie

Nieuwe tween bibliotheek Actuate

Er is een nieuwe animatie bibliotheek opgedoken in het landschap van animatie bibliotheken zoals TweenLite, GTween, BetweenAS3, etc. Actuate werkt niet veel anders dan bijvoorbeeld TweenLite van greensock maar zou wel sneller zijn. U kunt hier een benchmark bekijken.

Actuate is vrijgegeven onder een GNU licentie.

Smokescreen converteerd Flash naar HTML5/JavaScript

Zoals je waarschijnlijk wel hebt gehoord/gelezen laat Apple geen Flash technologie toe op zijn apparaten zoals de Ipad en Iphone. Dit met als argument dat de technologie slecht presteert, onstabiel is en energie verslindend zou zijn (zie Thoughts on Flash).

Als tegenhanger ziet Apple HTML5 en javascript als goede alternatieven voor Flash. Deze technologieën zijn zeker interessant maar nog niet zo ver als ActionScript 3.0 en Flash 10. Allereerst is HTML5 nog niet gestandariseerd en implementeren de verschillende browsers deze standaard niet allemaal hetzelfde. Canvas wordt bijvoorbeeld niet ondersteund door Microsoft Internet Explorer.
Je kan dus wel zeggen dat volledig overstappen op HTML5/Javascript (nog) niet een oplossing is. In de toekomst misschien wel, zodra HTML5 gestandariseerd is en door alle browsers ondersteund wordt.

Smokescreen
Smokescreen is een Flash-speler die geschreven is in Javascript. Dit opensource project zet swf bestanden om naar HTML5 en Javascript. Hierdoor is de swf ook af te spelen op Apple apparaten.
De Javascript speler is langzamer dan de Flash plug-in. Hierdoor is Smokescreen met name geschikt voor advertentiebanners. Wat op dit moment ondersteund wordt is een deel van de animatiemogelijkheden uit flash 8, geluidsstreamen, geluidseffecten, wat input en basale ActionScript. Het is nog in ontwikkeling. In de toekomst moet Flash uitgebreider ondersteund worden en de prestaties omhoog zijn gegaan.
Op de site laten ze een aantal demo’s zien waarin je kan zien dat ze aardig op weg zijn.


Smokescreen – iPad demo #1 from Chris @ RevShockAds on Vimeo.

Xss kwetsbaarheid in miljoenen Flash banners.

XSS injectionIn ongeveer 8 miljoen Flash-reclames is een xss-lek gevonden. Daarbij wordt nu een veelgebruikte adserver misbruikt voor de verspreiding van deze malafide reclames.
Lees verder »

Papervision 3.0 is coming

papervision 3d Afgelopen dinsdag is er bekend gemaakt dat Papervision 3.0 onderweg is. Versie 3.0 zal opnieuw gebouwd worden voor Flash Player 10. Hierdoor zal hij dan ook niet backward compatible zijn aangezien Flash Player 10 betere prestaties en technieken gebruikt dan zijn voorgangers. Voor de “oude” players is versie 2.1 te gebruiken. Deze zal niet meer door het papervision team door ontwikkeld worden, zij gaan zich volledig inzetten voor versie 3.0.
Lees verder »

Propeller aandrijven

Voor een spel ben ik gaan uitzoeken hoe ik een propeller kon laten aandrijven door middel van de pijltoetsen. Bedoeling was dat door de snelheid waarmee je de linker en rechter pijltoets indrukt de propeller sneller of langzamer zou gaan draaien.

Ik heb voor het berekenen van de snelheid de tijd tussen de twee toetsaanslagen gemeten. Deze tijd is in millisecondes. Dit sla ik op in een array waar maximaal 10 aanslagen in worden opgeslagen. Hiervan bereken ik vervolgens een gemiddelde. Om de overgang soepel te laten verlopen gebruik ik een vertraging.

Actionscript:
  1. import flash.events.KeyboardEvent;
  2.  
  3. var lastKeyPressTime:Date = new Date();
  4. var intervalTime:Number = 0;
  5. var maxInterval:Number = 300;
  6. var intervalTollerance:uint = 80; // 80 milliseconde haal je toch niet.
  7. var isRunning:Boolean = false;
  8. var gemiddelde:Number = 0;
  9. var intervalArray:Array = [maxInterval];
  10. var powerBlocks:uint = 20;
  11. var maxPower:uint = 1000;
  12. var power:uint = 0;
  13.  
  14. var py:Number = maxInterval;
  15. var ease:Number = 20;
  16.  
  17. stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
  18.  
  19.  
  20. function myEnterFrame(event:Event):void
  21. {
  22.     if (intervalArray.length> 10){
  23.         intervalArray = new Array();
  24.         intervalArray.push(gemiddelde);
  25.     }   
  26.    
  27.     gemiddelde = 0;
  28.     for (var i:uint = 0; i <intervalArray.length; i++){
  29.         gemiddelde += intervalArray[i];
  30.     }
  31.     gemiddelde = gemiddelde / intervalArray.length;
  32.    
  33.     py += (gemiddelde - py) / ease; 
  34.    
  35.     power = maxPower - (maxPower / powerBlocks) * Math.floor((powerBlocks / (maxInterval-intervalTollerance)) * (gemiddelde-intervalTollerance));
  36.    
  37.     proppelor.rotation += (30/ 300) * (300 - py);
  38. }
  39.  
  40. function keyPressed(e:KeyboardEvent):void
  41. {
  42.     if (e.keyCode == 39 || e.keyCode == 37){
  43.         if (!isRunning){
  44.             isRunning = true;
  45.             this.addEventListener(Event.ENTER_FRAME, myEnterFrame);
  46.         }
  47.         var curTime:Date = new Date();
  48.         intervalTime = curTime.getTime() - lastKeyPressTime.getTime();
  49.         lastKeyPressTime = new Date();
  50.        
  51.         if (intervalTime> maxInterval){
  52.             intervalTime = maxInterval;
  53.         }
  54.         intervalArray.push(intervalTime);
  55.     }
  56.     if (e.keyCode == 38){
  57.         isRunning = false;
  58.         this.removeEventListener(Event.ENTER_FRAME, myEnterFrame);
  59.     }
  60. }

Actionscript 3.0 API reference voor de iPhone

iphone_as3_referenceMike Chambers heeft een Actionscript 3.0 API reference voor de iPhone uitgebracht. Dit is een tool voor de iPhone waarmee je op je iPhone een referentie bibliotheek van Actionscript 3.0 hebt.  In de bibliotheek zitten de API gegevens van Flash, Flex en Air. Deze tool is gratis te donwloaden in Apples App Store.

Hier nog wat foto's.

Compileer Actionscript online

Er zijn al verschillende paketten waarmee je zonder tussenkomst van een Adobe pakket Actionscript code kan compileren. Dat is nu ook mogelijk zonder een van die andere paketten te gebruiken. Namelijk op de volgende website.  Je moet wel al je code in één class zetten en gebruik maken van bestaande frameworks zit er ook niet in.

Volgende pagina »


Archieven


search this place