Forked from: Dorara's 雲(静止画) diff:92 ○んが○本むかしばな○風の雲 forked from * http://wonderfl.net/c/vPrg * 重い・・・ sinketu forked:0favorite:0lines:49license : MIT License modified : 2010-08-16 21:15:12 Embed Tweet /* * forked from * http://wonderfl.net/c/vPrg * 重い・・・ */ package { import caurina.transitions.properties.ColorShortcuts; import caurina.transitions.Tweener; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.geom.Point; import net.hires.debug.Stats; [SWF(width="465", height="465",backgroundColor=0x00000000)] public class Main extends Sprite { private var _bitmap:BitmapData; private var _offset:Array=new Array(); private var _speed:Array=new Array(); private var _oct:Number = 4; private var _seed:Number; public function Main() { ColorShortcuts.init(); Wonderfl.capture_delay(9); //月 var mySprite:Sprite = new Sprite(); addChild(mySprite); mySprite.graphics.beginFill(0xffffcc); mySprite.graphics.drawCircle(stage.stageWidth / 2, stage.stageHeight / 2, 33); mySprite.graphics.endFill(); //perlinNoiseの動きに使う for(var i:int; i<_oct; i++){ _offset[i] = new Point(Math.random()*stage.stageWidth, Math.random()*stage.stageHeight); _speed[i] = new Point(-0.5, Math.random()*-0.5); } //perlinNoiseの模様に使う _seed = Math.floor(Math.random() * 1000); //雲の部分 _bitmap = new BitmapData(stage.stageWidth, stage.stageHeight); //表示 var image:Bitmap = new Bitmap(_bitmap); addChild(image); //bitmapを白く Tweener.addTween(image, { _brightness: 1, time:0 } );//横着した。 //雲を動かす addEventListener(Event.ENTER_FRAME, xEnterFrame); addChild(new Stats()); } private function xEnterFrame(e:Event):void { for(var i:int=0; i<_oct; i++){ _offset[i].x += 3;400 _offset[i].y += _speed[i].y; } //雲模様の生成 _bitmap.perlinNoise(800, 100, _oct, _seed , false, true, 4, true, _offset); //thresholdで、雲がない部分ところをつくる。 _bitmap.threshold(_bitmap, _bitmap.rect, new Point(), "<", 0x00960000, 0x00000000, 0x00ff0000, true); } } } Code Fullscreen Preview Fullscreen perlinNoise threshold ColorShortcuts.init Stats addChild Tweener.addTween Math.floor Point time addEventListener Event.ENTER_FRAME Event Array Math.random Sprite int Number