class Polygon extends Object
{
	function Polygon()
	{
	$this->Object();
	$this->addAction($this->PolygonAction(),"act");
	$this->compire();
	}

	function PolygonAction()
	{
	$act = new SWFAction
	("
	
	
	this.newPolygon_square = function(){
	polygon = new Array();
	square = new Array(-100,-100,
			   -100,100,
                           100,100,
			   100,-100,
			   -100,-100);
	for (i = 0; i < square.length ;i++){
	polygon.push(_root.Matrix.newMatrix());
	}

	for(i=0;i<polygon.length/2;i++){
	 _root.Matrix.setElement(polygon[i],0,0,square[i*2+0]);
	 _root.Matrix.setElement(polygon[i],0,1,square[i*2+1]);
	 _root.Matrix.setElement(polygon[i],0,2,-100);

	 _root.Matrix.setElement(polygon[5+i],0,0,square[i*2+0]);
	 _root.Matrix.setElement(polygon[5+i],0,1,square[i*2+1]);
	 _root.Matrix.setElement(polygon[5+i],0,2,100);
	}
	return polygon;
	};
	
	duplicate = function(poly)
	{
		polygon = new Array();
		for(i = 0;i<poly.length;i++){
		polygon.push(_root.Matrix.duplicateArray( poly[i] ));
		}
		return polygon;
	};

	multiplication = function(poly,kakeru)
	{
	A = duplicate(poly);
	
	for(i = 0;i<poly.length;i++){
	A[i] =  _root.Matrix.multiplication(kakeru,_root.Matrix.transpose(A[i]));
	A[i] = _root.Matrix.transpose(A[i]);
	}
//	_root.Matrix.printMatrix(_root.Matrix.transpose(A[0]));
	return A;
	};

	move = function(poly,mov_x,mov_y,mov_z){
		temp = duplicate(poly);
		for(i=0;i<poly.length;i++)
		{
		temp[i][0]=mov_x +  poly[i][0];
		temp[i][1]=mov_y +  poly[i][1];
		temp[i][2]=mov_z +  poly[i][2];
		}

		return temp;
		};

	rotate_x = function(poly,kakudo)
		{
		k = kakudo;
		x = new Array
		(
		1,0,0,0,
		0,Math.cos(k),Math.sin(k),0,
		0,-1*Math.sin(k),Math.cos(k),0,
		0,0,0,1
		);

		temp = duplicate(poly);
		temp = multiplication(temp,x);
		
		return temp;
		};

	");
	return $act; 
	}

}


テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル