In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

Colorful Oyster

アカウント作った物のずっと放置だったので試しに投稿。
別な物を作ってる途中で何となくやってみた
curveToなんて使わなくてもこれ自体をやるにはもっとスマートなやり方はある。
Get Adobe Flash player
by glasses_factory 16 Aug 2009
//アカウント作った物のずっと放置だったので試しに投稿。
//別な物を作ってる途中で何となくやってみた
//curveToなんて使わなくてもこれ自体をやるにはもっとスマートなやり方はある。

package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	
	public class WoolMaker extends Sprite
	{
		private var main:wool;
		private var loc1:*;
		private var loc2:*;
		private var loc3:*;
		
//woolと言いつつwoolっぽくないですごめんなさい。
		public function WoolMaker()
		{
			init();
		}
		 
		//初期化
		private function init():void
		{
			loc1 = new BitmapData(465,465,true,0x00FFFFFF);
			loc2 = new Bitmap(loc1);
			main = new wool(220,loc1);
			for(var i:int =0; i < 465 / 5; i++)
			{
				loc3 = Math.random() * 0xFFFFFF;
				main.generate(i * 5,loc3);	
			}
			addChild(loc2);
		}
	}
}

import flash.display.BitmapData;
import flash.display.Sprite;

class wool extends Sprite
{
	private var ptNum:int;
	private var ptVect:Vector.<woolPt>;
	private var bmd:BitmapData;
	private var endPt:woolPt;
	private var loc1:*;
	private var loc2:*;
		
	public function wool(_ptNum:int,_bmd:BitmapData)
	{
		ptNum = _ptNum;
		ptVect = new Vector.<woolPt>(_ptNum,true);
		bmd = _bmd;
	}
		
	public function generate(pos:Number,col:uint):void
	{	
		for(var i:int = 0; i < ptNum; i++)
		{
			loc1 = i * (465 / ptNum);
			ptVect[i] = new woolPt(Math.random() * 465,loc1);
		}
		endPt = new woolPt(Math.random() * 465,465);
		ptVect[ptNum-1] = endPt;
		draw(col);
	}
		
	public function draw(col:uint):void
	{
		var sp:Sprite = new Sprite();
		sp.graphics.clear();
		sp.graphics.lineStyle(1,col,0.7);
		sp.graphics.moveTo(ptVect[0].x,ptVect[0].y);
		for(var i:int = 1; i < ptNum -1; i++)
		{
			loc1 = ptVect[i].x * 2 - (ptVect[i - 1].x + ptVect[i + 1].x) / 2;
			loc2 = ptVect[i].y * 2 - (ptVect[i - 1].y + ptVect[i + 1].y) / 2;
			sp.graphics.curveTo(loc1,loc2,ptVect[i+1].x,ptVect[i+1].y)
		}
		bmd.draw(sp);
	}
}

class woolPt
{
	public var x:Number;
	public var y:Number;
	
	public function woolPt(_x:Number,_y:Number)
	{
		x = _x;
		y = _y;
	}
}