Actionscript3 astro

astro練習

[`evernote` not found]
LINEで送る
Pocket

取りあえず、flash player10 astroの練習をしてみました。
標準で3Dの機能がついたので、ひとまずちょっとしたサンプルを作成しました.

http://www.hi-farm.net/astro/main.swf

処理がかるくなるのかな?と思ってたのですが、Macのアクティビティモニタで見てみると、
今までの様にPapervision3Dを作った時と、重さがあまりかわらない気がしたんですけど、どうなんでしょう?

ソースはこれ。

main.as—————————————-

package
{

import flash.events.*;
import flash.display.*;
import flash.ui.*;

[SWF(backgroundColor=”0x000000″, frameRate=”50″)] public class main extends MovieClip
{

private var container:Sprite;
private var rect_vc:Vector.<Rect>;
private var len:uint = 6;
private var radius:Number = 100;
private var container_vc:Vector.<Sprite>;
private var innerLen:uint=15;

public function main ()
{
init();
}

private function init():void
{
container_vc = new Vector.<Sprite>();

container = new Sprite();
container.x = 150;
container.y = 10;

addChild(container);
rect_vc = new Vector.<Rect>();
for( var i:uint=0; i < innerLen; i++ )
{
container_vc[i] = genCircle(0, 30*i+10,15*i);
container_vc[i].rotationY = 30 * i;
}
addEventListener(Event.ENTER_FRAME, enterframeHandler);
}

private function genCircle(cX:Number, cY:Number, ra:Number):Sprite
{
var innerContainer:Sprite = new Sprite();

for( var i:uint=0; i < len; i++ )
{
var rect:Rect = new Rect(0xffffff, 10, 10);
innerContainer.addChild(rect);

var rad:Number = (Math.PI/180) * ( (360/len)*i);
rect.x = (Math.cos(rad) – Math.sin(rad)) * ra;
rect.y = 0;
rect.z = (Math.sin(rad) + Math.cos(rad)) * ra;
rect_vc[i] = rect;
}

innerContainer.x = 0;
innerContainer.y = 0;

innerContainer.x = cX;
innerContainer.y = cY;

container.addChild(innerContainer);

return innerContainer;
}

private function enterframeHandler(e:Event):void
{
for( var i:uint=0; i < innerLen; i++ )
{
container_vc[i].rotationY++;
}
}
}
}

Rect.as—————————————-

package
{
import flash.display.*;
import flash.events.*;

public class Rect extends Sprite
{
function Rect(col:uint, w:Number, h:Number)
{
this.graphics.beginFill( 0xffffff, 1);
this.graphics.drawRect( 0, 0, w, h);
this.graphics.endFill();
}
}
}

2008年6月1日02:36

One comment

  1. html に embed して wmode=\”gpu\” にすると GPU 使うモードになって軽くなるよ!
    でも GPU のついてない MacBook とかだと Flash Player がクラッシュするらしい。。。(まあ、まだベータだしね)

Leave a Reply

Your email address will not be published.

CAPTCHA