○んが○本むかしばな○風の雲
forked from 雲(静止画) (diff: 92)
forked from * http://wonderfl.net/c/vPrg * 重い・・・
ActionScript3 source code
/**
* Copyright sinketu ( http://wonderfl.net/user/sinketu )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/pXF2
*/
/*
* 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);
}
}
}
