- 2007年11月 6日 04:20
- flash
メタボール from Wikipediaメタボールは、コンピュータグラフィックス用語で、n 次元の有機的なオブジェクトを表す言葉である。メタボールをレンダリングするための技術は、ジム・ブリンによって 1980 年代初期に発明された。
約1年前のWeb Designing 12月号に掲載されていたメタボールをActionScript3.0で再現してみた。この記事を見てからずっと作ってみたかったんですが、怒涛の卒論や卒業旅行の準備なんかですっかり忘れていました。この前偶然見つけて、今の自分ならできるんではないかと思って作ってみました(Bitmapの勉強にもなる)。途中、図形にグラデーションかける工程でつまづいたけど、なんとか完成。ASのみで作成する辛さを実感しました。
package {
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Graphics;
import flash.events.Event;
import flash.geom.Matrix;
import flash.geom.Rectangle;
[SWF(width="600", height="600", frameRate="24", backgroundColor="#ffffff")]
public class MetaBall extends Sprite {
private var SIZE:int = 100; //メタボールのサイズ
private var NUM:int = 5; //メタボールの個数
private var objAry:Array = new Array();
public function MetaBall() {
var container:Sprite = new Sprite();
this.addChild(container);
var dif:Number;
var speedX:Array = new Array(NUM);
var speedY:Array = new Array(NUM);
//グラデーションサイズの調整
var adjust:Number = SIZE / (1636 / 2);
//Matrix作成
var matrix:Matrix = new Matrix();
matrix.identity();
matrix.scale(adjust,adjust);
//グラデーションボール作成
for(var i:uint=0; i
MetaBall.zip(ソースコード)
- Newer: サーバ移転に向けて準備中
- Older: mt.Vicuna1.14 でコメントのHTMLタグを許可できない場合の処置方法
