※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!
wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)
Hello Sandy 3D :) forked from: Hello Sandy 3D :)
- // forked from makc3d's Hello Sandy 3D :)
- package
- {
- import flash.display.*;
- import flash.filters.*;
- import flash.geom.*;
- import sandy.core.data.*;
- import sandy.core.scenegraph.*;
- import sandy.core.*;
- import sandy.extrusion.data.*;
- import sandy.extrusion.*;
- import sandy.materials.*;
- import sandy.materials.attributes.*;
- import sandy.primitive.*;
- import sandy.*;
- [SWF(width="465", height="465", backgroundColor="#000000", frameRate="20")]
- public class FlashTest extends Sprite
- {
- private var red:BitmapMaterial;
- private var scene:Scene3D;
- private var stuff:TransformGroup;
- public function FlashTest () {
- scene = new Scene3D ("scene", this, new Camera3D (465, 465), new Group ("root"));
- scene.camera.z = -1000; stuff = new TransformGroup ("stuff"); scene.root.addChild (stuff);
- // get the logo
- var logo:Bitmap = Logo.GetBitmap (); logo.y = 465 - 19; addChild (logo);
- // make materials
- red = new BitmapMaterial (makeSeamlessTextureFromLogo (logo),
- new MaterialAttributes (new VertexNormalAttributes (50, 5, 0x007F00)));
- var ph:PhongAttributes = new PhongAttributes (true);
- ph.specular = 2; ph.gloss = 5; ph.onlySpecular = true;
- var yel:ColorMaterial = new ColorMaterial (0xFFFFAF, 1,
- new MaterialAttributes (ph)); yel.lightingEnable = true;
- // glowing sphere
- var radius:Number = 100;
- var sphere:Sphere = new Sphere ("sphere", radius);
- sphere.appearance = new Appearance (yel);
- sphere.container.filters = [ new GlowFilter (0xFFFFAF, 1, 160, 160, 1) ];
- stuff.addChild (sphere);
- // make... emm... things
- var profile:Polygon2D = new Polygon2D (
- [new Point (-10, -5), new Point (+10, -5), new Point (0, +10)]);
- for (var i:int = 0; i < 6; i++) {
- var thing:Curve3D = new Curve3D;
- var up:Point3D = new Point3D (0, 1, 0);
- var t:Point3D = new Point3D (r(), r(), r());
- var len:Number = 0.5 * (1 + Math.random ());
- for (var j:int = 0; j < 4; j++) {
- // randomize direction
- var k:Number = 0.1 * (1.5 * j + 1);
- t.x += k * r(); t.y += k * r(); t.z += k * r(); t.normalize ();
- thing.t.push (t.clone ());
- // progressive position
- var v:Point3D = t.clone (); v.scale (radius * (0.9 + len * j));
- thing.v.push (v);
- // select any normal vector
- var n:Point3D = up.cross (t); n.normalize ();
- thing.n.push (n);
- // scale
- thing.s.push (3 - j);
- }
- var ext:Extrusion = new Extrusion ("thing" + i, profile, thing.toSections (), false, false);
- ext.appearance = new Appearance (red); stuff.addChild (ext);
- }
- // spin it
- addEventListener ("enterFrame", loop);
- }
- private var tw:Number = 1, th:Number = 3, tu:Number = 0, tv:Number = 0;
- private function loop (e:*):void {
- tv -= 0.05; if (tv < -1) tv += 1;
- red.setTiling (tw, th, tu, tv);
- stuff.rotateY += 2; scene.render();
- }
- private function makeSeamlessTextureFromLogo (logo:Bitmap):BitmapData {
- var pattern:BitmapData = new BitmapData (22, 19 * 2 - 1, false, 0);
- pattern.draw (logo.bitmapData, new Matrix (+1, 0, 0, +1, -100));
- pattern.draw (logo.bitmapData, new Matrix (-1, 0, 0, -1, +363.5, 19 * 2 - 1));
- return pattern;
- }
- private function r ():Number {
- var v:Number = 0; while (v == 0) v = Math.random () - Math.random (); return v;
- }
- }
- }
Hello Sandy 3D :) forked from: Hello Sandy 3D :)
- // forked from makc3d's Hello Sandy 3D :)
- package
- {
- import flash.display.*;
- import flash.filters.*;
- import flash.geom.*;
- import sandy.core.data.*;
- import sandy.core.scenegraph.*;
- import sandy.core.*;
- import sandy.extrusion.data.*;
- import sandy.extrusion.*;
- import sandy.materials.*;
- import sandy.materials.attributes.*;
- import sandy.primitive.*;
- import sandy.*;
- [SWF(width="465", height="465", backgroundColor="#000000", frameRate="20")]
- public class FlashTest extends Sprite
- {
- private var red:BitmapMaterial;
- private var scene:Scene3D;
- private var stuff:TransformGroup;
- public function FlashTest () {
- scene = new Scene3D ("scene", this, new Camera3D (465, 465), new Group ("root"));
- scene.camera.z = -1000; stuff = new TransformGroup ("stuff"); scene.root.addChild (stuff);
- // get the logo
- var logo:Bitmap = Logo.GetBitmap (); logo.y = 465 - 19; addChild (logo);
- // make materials
- red = new BitmapMaterial (makeSeamlessTextureFromLogo (logo),
- new MaterialAttributes (new VertexNormalAttributes (50, 5, 0x007F00)));
- var ph:PhongAttributes = new PhongAttributes (true);
- ph.specular = 2; ph.gloss = 5; ph.onlySpecular = true;
- var yel:ColorMaterial = new ColorMaterial (0xFFFFAF, 1,
- new MaterialAttributes (ph)); yel.lightingEnable = true;
- // glowing sphere
- var radius:Number = 100;
- var sphere:Sphere = new Sphere ("sphere", radius);
- sphere.appearance = new Appearance (yel);
- sphere.container.filters = [ new GlowFilter (0xFFFFAF, 1, 160, 160, 1) ];
- stuff.addChild (sphere);
- // make... emm... things
- var profile:Polygon2D = new Polygon2D (
- [new Point (-10, -5), new Point (+10, -5), new Point (0, +10)]);
- for (var i:int = 0; i < 6; i++) {
- var thing:Curve3D = new Curve3D;
- var up:Point3D = new Point3D (0, 1, 0);
- var t:Point3D = new Point3D (r(), r(), r());
- var len:Number = 0.5 * (1 + Math.random ());
- for (var j:int = 0; j < 4; j++) {
- // randomize direction
- var k:Number = 0.1 * (1.5 * j + 1);
- t.x += k * r(); t.y += k * r(); t.z += k * r(); t.normalize ();
- thing.t.push (t.clone ());
- // progressive position
- var v:Point3D = t.clone (); v.scale (radius * (0.9 + len * j));
- thing.v.push (v);
- // select any normal vector
- var n:Point3D = up.cross (t); n.normalize ();
- thing.n.push (n);
- // scale
- thing.s.push (3 - j);
- }
- var ext:Extrusion = new Extrusion ("thing" + i, profile, thing.toSections (), false, false);
- ext.appearance = new Appearance (red); stuff.addChild (ext);
- }
- // spin it
- addEventListener ("enterFrame", loop);
- }
- private var tw:Number = 1, th:Number = 3, tu:Number = 0, tv:Number = 0;
- private function loop (e:*):void {
- tv -= 0.05; if (tv < -1) tv += 1;
- red.setTiling (tw, th, tu, tv);
- stuff.rotateY += 2; scene.render();
- }
- private function makeSeamlessTextureFromLogo (logo:Bitmap):BitmapData {
- var pattern:BitmapData = new BitmapData (22, 19 * 2 - 1, false, 0);
- pattern.draw (logo.bitmapData, new Matrix (+1, 0, 0, +1, -100));
- pattern.draw (logo.bitmapData, new Matrix (-1, 0, 0, -1, +363.5, 19 * 2 - 1));
- return pattern;
- }
- private function r ():Number {
- var v:Number = 0; while (v == 0) v = Math.random () - Math.random (); return v;
- }
- }
- }
notice: 

