soundtest14 - happy birthday 俺(30) ついに三十路記念。 やってること何も変わらんけど。 gaina forked:1favorite:3lines:128license : MIT License modified : 2010-09-25 00:53:57 Embed Tweet package { import caurina.transitions.properties.ColorShortcuts; import caurina.transitions.Tweener; import com.bit101.components.Label; import flash.display.Sprite; import flash.events.Event; import flash.media.SoundMixer; import flash.utils.ByteArray; /** * ... * @author gaina * Music by AlainMikuni */ public class Main extends Sprite { private var array:Array = []; private var thirty:Array = []; private var _over:Sprite; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); ColorShortcuts.init(); thirty = ThirtyArray(); array = ThirtDots(); _over = new Sprite(); _over.graphics.beginFill(0); _over.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); _over.graphics.endFill(); _over.blendMode = "add"; addChild(_over); var _label:Label = new Label(stage, 0, 0, "HAPPY BIRTHDAY ORE(30)"); _label.x = stage.stageWidth / 2 - _label.width / 2; _label.y = stage.stageHeight / 2 - _label.height / 2; addEventListener(Event.ENTER_FRAME, loop); var _sound:PlaySound = new PlaySound("http://www.takasumi-nagai.com/soundfiles/sound007.mp3"); } private function loop(e:Event):void { var _bytes01:ByteArray = new ByteArray(); var _bytes02:ByteArray = new ByteArray(); SoundMixer.computeSpectrum(_bytes01, false, 0); SoundMixer.computeSpectrum(_bytes02, false, 0); var p:Number = 0; for (var i:int = 0; i < 256; i++) { var _sp:Sprite = array[i] as Sprite; var t:int = thirty[i] as int; var data:Number = _bytes01.readFloat(); if (t == 0) { Tweener.addTween(_sp, { scaleX:data * 4, scaleY:data * 4, time:0.5 } ); } p += _bytes02.readFloat(); } if (p > 9) { Tweener.addTween(_over, {_color:Math.random()*0xFFFFFF } ); } } private function ThirtyArray():Array { var _thirty:Array = [ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,1,1,1,1,1,0,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0, 0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]; return _thirty } private function ThirtDots():Array { var _array:Array = []; var _w:Number = stage.stageWidth / 16; var _h:Number = stage.stageHeight / 16; for (var i:int = 0; i < 256; i++) { var t:int = thirty[i] as int; var _sp:Sprite = new Sprite(); if (t == 0) { _sp.graphics.beginFill(0); _sp.graphics.drawCircle(0, 0, _w / 2); }else { _sp.graphics.beginFill(0xFFFF00); _sp.graphics.drawRect(-_w/2, -_h/2, _w, _h); } _sp.graphics.endFill() _sp.x = _w /2 + (i % 16) * _w; _sp.y = _h / 2 + _h * Math.floor(i / 16); //_rect.blendMode = "invert"; addChild(_sp); _array.push(_sp); } return _array; } } } import flash.events.Event; import flash.media.Sound; import flash.media.SoundLoaderContext; import flash.media.SoundTransform; import flash.net.URLRequest; class PlaySound { private var sound:Sound; public function PlaySound(url:String) { sound = new Sound(); var _context:SoundLoaderContext = new SoundLoaderContext(1000, true); sound.addEventListener(Event.COMPLETE, SoundLoadeComplete); sound.load(new URLRequest(url), _context); } private function SoundLoadeComplete(e:Event):void { sound.play(0, 10, new SoundTransform(0.3, 0)); } } Code Fullscreen Preview Fullscreen tjoen kleinschmidt.. aobyrne : computeSpectrumtweener computeSpectrum tweener Tweener.init ByteArray data stage ColorShortcuts.init Event.ADDED_TO_STAGE SoundTransform Tweener.addTween readFloat blendMode url scaleY addEventListener scaleX Event.COMPLETE height removeEventListener width Event Math.floor sort new page view favorite forked pv124 forked from: soundtest14 - hap.. l.dijkman forked:0 favorite:0lines:128 (diff:10)