※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


FORKED
  1. // forked from rsakane's 迷路自動生成(棒倒し法)
  2. // write as3 code here..
  3. /**
  4.     rsakane
  5.     迷路自動生成
  6.     http://d.hatena.ne.jp/rsakane/20080612/p1
  7. */
  8. package
  9. {
  10.     import flash.display.Sprite;
  11.     import flash.events.MouseEvent;
  12.     import flash.text.TextField;
  13.     import flash.text.TextFieldType;
  14.     
  15.     public class Maze extends Sprite
  16.     {
  17.         private var maze:Array;
  18.         private var SIZE:int = 21;
  19.         
  20.         public function Maze()
  21.         {
  22.             stage.addEventListener(MouseEvent.MOUSE_DOWN,
  23.                                     function (event:MouseEvent):void
  24.                                     {
  25.                                         initialize();
  26.                                         boutaoshi();
  27.                                         draw();
  28.                                     }
  29.             );
  30.             
  31.             var tf:TextField = new TextField();
  32.             setTextField(tf, 0220, stage.stageWidth, 50false, TextFieldType.DYNAMIC);
  33.             addChild(tf);
  34.             tf.htmlText = '<font size="100">This is quite an awesome interchanging maze!</font>';
  35.             
  36.             initialize();
  37.             boutaoshi();
  38.             draw();
  39.         }
  40.         
  41.         private function boutaoshi():void
  42.         {
  43.             for (var y:int = 2; y < SIZE - 1; y += 2)
  44.             {
  45.                 var dx:int = 2;
  46.                 var dy:int = y;
  47.                 
  48.                 switch (Math.floor(Math.random() * 4))
  49.                 {
  50.                     case 0:
  51.                         dx++;
  52.                         break;
  53.                     case 1:
  54.                         dx--;
  55.                         break;
  56.                     case 2:
  57.                         dy++;
  58.                         break;
  59.                     case 3:
  60.                         dy--;
  61.                         break;
  62.                 }
  63.                 
  64.                 if (!maze[dx][dy])
  65.                 {
  66.                     maze[dx][dy] = true;
  67.                 }
  68.                 else
  69.                 {
  70.                     y -= 2;
  71.                 }
  72.             }
  73.             
  74.             for (var x:int = 4; x < SIZE - 1; x += 2)
  75.             {
  76.                 for (y = 2; y < SIZE - 1; y += 2)
  77.                 {
  78.                     dx = x;
  79.                     dy = y;
  80.                     
  81.                     switch (Math.floor(Math.random() * 3))
  82.                     {
  83.                         case 0:
  84.                             dy++;
  85.                             break;
  86.                         case 1:
  87.                             dy--;
  88.                             break;
  89.                         case 2:
  90.                             dx++;
  91.                             break;
  92.                     }
  93.                     
  94.                     if (!maze[dx][dy])
  95.                     {
  96.                         maze[dx][dy] = true;
  97.                     }
  98.                     else
  99.                     {
  100.                         y -= 2;
  101.                     }
  102.                 }
  103.             }
  104.         }
  105.         
  106.         private function draw():void
  107.         {
  108.             graphics.clear();
  109.             graphics.beginFill(0x880000);
  110.             for (var i:int = 0; i < SIZE; i++)
  111.             {
  112.                 for (var j:int = 0; j < SIZE; j++)
  113.                 {
  114.                     if (maze[i][j])
  115.                     {
  116.                         graphics.drawRect(i * 10, j * 101010);
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.         
  122.         private function initialize():void
  123.         {
  124.             maze = new Array(SIZE);
  125.             for (var i:int = 0; i < SIZE; i++)
  126.             {
  127.                 maze[i] = new Array(SIZE);
  128.             }
  129.             
  130.             for (i = 0; i < SIZE; i++)
  131.             {
  132.                 for (var j:int = 0; j < SIZE; j++)
  133.                 {
  134.                     if (i == 0 || j == 0 || i == SIZE - 1 || j == SIZE - 1 || i % 2 == 0 && j % 2 == 0)
  135.                     {
  136.                         maze[i][j] = true;
  137.                     }
  138.                     else
  139.                     {
  140.                         maze[i][j] = false;
  141.                     }
  142.                 }
  143.             }
  144.         }
  145.         
  146.         public function setTextField(tf:TextField, x:int, y:int, width:int, height:int, border:Boolean, type:String, text:String = "")
  147.         {
  148.             tf.x = x;
  149.             tf.y = y;
  150.             tf.width = width;
  151.             tf.height = height;
  152.             tf.border = border;
  153.             tf.type = type;
  154.             tf.htmlText = text;
  155.         }
  156.     }
  157. }
noswf
  1. // forked from rsakane's 迷路自動生成(棒倒し法)
  2. // write as3 code here..
  3. /**
  4.     rsakane
  5.     迷路自動生成
  6.     http://d.hatena.ne.jp/rsakane/20080612/p1
  7. */
  8. package
  9. {
  10.     import flash.display.Sprite;
  11.     import flash.events.MouseEvent;
  12.     import flash.text.TextField;
  13.     import flash.text.TextFieldType;
  14.     
  15.     public class Maze extends Sprite
  16.     {
  17.         private var maze:Array;
  18.         private var SIZE:int = 30;
  19.         
  20.         public function Maze()
  21.         {
  22.             stage.addEventListener(MouseEvent.MOUSE_DOWN,
  23.                                     function (event:MouseEvent):void
  24.                                     {
  25.                                         initialize();
  26.                                         boutaoshi();
  27.                                         draw();
  28.                                     }
  29.             );
  30.             
  31.             var tf:TextField = new TextField();
  32.             setTextField(tf, 0220, stage.stageWidth, 50false, TextFieldType.DYNAMIC);
  33.             addChild(tf);
  34.             tf.htmlText = '<font size="15">画面をクリックすると迷路を再生成できます</font>';
  35.             
  36.             initialize();
  37.             boutaoshi();
  38.             draw();
  39.         }
  40.         
  41.         private function boutaoshi():void
  42.         {
  43.             for (var y:int = 2; y < SIZE - 1; y += 2)
  44.             {
  45.                 var dx:int = 2;
  46.                 var dy:int = y;
  47.                 
  48.                 switch (Math.floor(Math.random() * 4))
  49.                 {
  50.                     case 0:
  51.                         dx++;
  52.                         break;
  53.                     case 1:
  54.                         dx--;
  55.                         break;
  56.                     case 2:
  57.                         dy++;
  58.                         break;
  59.                     case 3:
  60.                         dy--;
  61.                         break;
  62.                 }
  63.                 
  64.                 if (!maze[dx][dy])
  65.                 {
  66.                     maze[dx][dy] = true;
  67.                 }
  68.                 else
  69.                 {
  70.                     y -= 2;
  71.                 }
  72.             }
  73.             
  74.             for (var x:int = 4; x < SIZE - 1; x += 2)
  75.             {
  76.                 for (y = 2; y < SIZE - 1; y += 2)
  77.                 {
  78.                     dx = x;
  79.                     dy = y;
  80.                     
  81.                     switch (Math.floor(Math.random() * 3))
  82.                     {
  83.                         case 0:
  84.                             dy++;
  85.                             break;
  86.                         case 1:
  87.                             dy--;
  88.                             break;
  89.                         case 2:
  90.                             dx++;
  91.                             break;
  92.                     }
  93.                     
  94.                     if (!maze[dx][dy])
  95.                     {
  96.                         maze[dx][dy] = true;
  97.                     }
  98.                     else
  99.                     {
  100.                         y -= 2;
  101.                     }
  102.                 }
  103.             }
  104.         }
  105.         
  106.         private function draw():void
  107.         {
  108.             graphics.clear();
  109.             graphics.beginFill(0x880000);
  110.             for (var i:int = 0; i < SIZE; i++)
  111.             {
  112.                 for (var j:int = 0; j < SIZE; j++)
  113.                 {
  114.                     if (maze[i][j])
  115.                     {
  116.                         graphics.drawRect(i * 10, j * 101010);
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.         
  122.         private function initialize():void
  123.         {
  124.             maze = new Array(SIZE);
  125.             for (var i:int = 0; i < SIZE; i++)
  126.             {
  127.                 maze[i] = new Array(SIZE);
  128.             }
  129.             
  130.             for (i = 0; i < SIZE; i++)
  131.             {
  132.                 for (var j:int = 0; j < SIZE; j++)
  133.                 {
  134.                     if (i == 0 || j == 0 || i == SIZE - 1 || j == SIZE - 1 || i % 2 == 0 && j % 2 == 0)
  135.                     {
  136.                         maze[i][j] = true;
  137.                     }
  138.                     else
  139.                     {
  140.                         maze[i][j] = false;
  141.                     }
  142.                 }
  143.             }
  144.         }
  145.         
  146.         public function setTextField(tf:TextField, x:int, y:int, width:int, height:int, border:Boolean, type:String, text:String = "")
  147.         {
  148.             tf.x = x;
  149.             tf.y = y;
  150.             tf.width = width;
  151.             tf.height = height;
  152.             tf.border = border;
  153.             tf.type = type;
  154.             tf.htmlText = text;
  155.         }
  156.     }
  157. }
noswf
  1. // forked from rsakane's 迷路自動生成(棒倒し法)
  2. // write as3 code here..
  3. /**
  4.     rsakane
  5.     迷路自動生成
  6.     http://d.hatena.ne.jp/rsakane/20080612/p1
  7. */
  8. package
  9. {
  10.     import flash.display.Sprite;
  11.     import flash.events.MouseEvent;
  12.     import flash.text.TextField;
  13.     import flash.text.TextFieldType;
  14.     
  15.     public class Maze extends Sprite
  16.     {
  17.         private var maze:Array;
  18.         private var SIZE:int = 21;
  19.         
  20.         public function Maze()
  21.         {
  22.             stage.addEventListener(MouseEvent.MOUSE_DOWN,
  23.                                     function (event:MouseEvent):void
  24.                                     {
  25.                                         initialize();
  26.                                         boutaoshi();
  27.                                         draw();
  28.                                     }
  29.             );
  30.             
  31.             var tf:TextField = new TextField();
  32.             setTextField(tf, 0220, stage.stageWidth, 50false, TextFieldType.DYNAMIC);
  33.             addChild(tf);
  34.             tf.htmlText = '<font size="15">画面をクリックすると迷路を再生成できます</font>';
  35.             
  36.             initialize();
  37.             boutaoshi();
  38.             draw();
  39.         }
  40.         
  41.         private function boutaoshi():void
  42.         {
  43.             for (var y:int = 2; y < SIZE - 1; y += 2)
  44.             {
  45.                 var dx:int = 2;
  46.                 var dy:int = y;
  47.                 
  48.                 switch (Math.floor(Math.random() * 4))
  49.                 {
  50.                     case 0:
  51.                         dx++;
  52.                         break;
  53.                     case 1:
  54.                         dx--;
  55.                         break;
  56.                     case 2:
  57.                         dy++;
  58.                         break;
  59.                     case 3:
  60.                         dy--;
  61.                         break;
  62.                 }
  63.                 
  64.                 if (!maze[dx][dy])
  65.                 {
  66.                     maze[dx][dy] = true;
  67.                 }
  68.                 else
  69.                 {
  70.                     y -= 2;
  71.                 }
  72.             }
  73.             
  74.             for (var x:int = 4; x < SIZE - 1; x += 2)
  75.             {
  76.                 for (y = 2; y < SIZE - 1; y += 2)
  77.                 {
  78.                     dx = x;
  79.                     dy = y;
  80.                     
  81.                     switch (Math.floor(Math.random() * 3))
  82.                     {
  83.                         case 0:
  84.                             dy++;
  85.                             break;
  86.                         case 1:
  87.                             dy--;
  88.                             break;
  89.                         case 2:
  90.                             dx++;
  91.                             break;
  92.                     }
  93.                     
  94.                     if (!maze[dx][dy])
  95.                     {
  96.                         maze[dx][dy] = true;
  97.                     }
  98.                     else
  99.                     {
  100.                         y -= 2;
  101.                     }
  102.                 }
  103.             }
  104.         }
  105.         
  106.         private function draw():void
  107.         {
  108.             graphics.clear();
  109.             graphics.beginFill(0x8880564);
  110.             for (var i:int = 0; i < SIZE; i++)
  111.             {
  112.                 for (var j:int = 0; j < SIZE; j++)
  113.                 {
  114.                     if (maze[i][j])
  115.                     {
  116.                         graphics.drawRect(i * 10, j * 101010);
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.         
  122.         private function initialize():void
  123.         {
  124.             maze = new Array(SIZE);
  125.             for (var i:int = 0; i < SIZE; i++)
  126.             {
  127.                 maze[i] = new Array(SIZE);
  128.             }
  129.             
  130.             for (i = 0; i < SIZE; i++)
  131.             {
  132.                 for (var j:int = 0; j < SIZE; j++)
  133.                 {
  134.                     if (i == 0 || j == 0 || i == SIZE - 1 || j == SIZE - 1 || i % 2 == 0 && j % 2 == 0)
  135.                     {
  136.                         maze[i][j] = true;
  137.                     }
  138.                     else
  139.                     {
  140.                         maze[i][j] = false;
  141.                     }
  142.                 }
  143.             }
  144.         }
  145.         
  146.         public function setTextField(tf:TextField, x:int, y:int, width:int, height:int, border:Boolean, type:String, text:String = "")
  147.         {
  148.             tf.x = x;
  149.             tf.y = y;
  150.             tf.width = width;
  151.             tf.height = height;
  152.             tf.border = border;
  153.             tf.type = type;
  154.             tf.htmlText = text;
  155.         }
  156.     }
  157. }
noswf
  1. // forked from rsakane's 迷路自動生成(棒倒し法)
  2. // use WASD + mouse drag
  3. package
  4. {
  5.     import flash.display.*;
  6.     import flash.events.*;
  7.     import alternativa.engine3d.controllers.*
  8.     import alternativa.engine3d.core.*
  9.     import alternativa.engine3d.display.*
  10.     import alternativa.engine3d.materials.*
  11.     import alternativa.engine3d.primitives.*
  12.     [SWF(backgroundColor="0")]    
  13.     public class Maze extends Sprite
  14.     {
  15.         private var maze:Array;
  16.         private var SIZE:int = 11;
  17.         
  18.         public function Maze()
  19.         {
  20.             initialize();
  21.             boutaoshi();
  22.             draw();
  23.         }
  24.         
  25.         private function boutaoshi():void
  26.         {
  27.             for (var y:int = 2; y < SIZE - 1; y += 2)
  28.             {
  29.                 var dx:int = 2;
  30.                 var dy:int = y;
  31.                 
  32.                 switch (Math.floor(Math.random() * 4))
  33.                 {
  34.                     case 0:
  35.                         dx++;
  36.                         break;
  37.                     case 1:
  38.                         dx--;
  39.                         break;
  40.                     case 2:
  41.                         dy++;
  42.                         break;
  43.                     case 3:
  44.                         dy--;
  45.                         break;
  46.                 }
  47.                 
  48.                 if (!maze[dx][dy])
  49.                 {
  50.                     maze[dx][dy] = true;
  51.                 }
  52.                 else
  53.                 {
  54.                     y -= 2;
  55.                 }
  56.             }
  57.             
  58.             for (var x:int = 4; x < SIZE - 1; x += 2)
  59.             {
  60.                 for (y = 2; y < SIZE - 1; y += 2)
  61.                 {
  62.                     dx = x;
  63.                     dy = y;
  64.                     
  65.                     switch (Math.floor(Math.random() * 3))
  66.                     {
  67.                         case 0:
  68.                             dy++;
  69.                             break;
  70.                         case 1:
  71.                             dy--;
  72.                             break;
  73.                         case 2:
  74.                             dx++;
  75.                             break;
  76.                     }
  77.                     
  78.                     if (!maze[dx][dy])
  79.                     {
  80.                         maze[dx][dy] = true;
  81.                     }
  82.                     else
  83.                     {
  84.                         y -= 2;
  85.                     }
  86.                 }
  87.             }
  88.         }
  89.         
  90.         private var scene:Scene3D;
  91.         private var view:View;
  92.         private var wasd:CameraController;
  93.         private var cam_da:Number = 0;
  94.         private var cam_mx:Number = 465 / 2;
  95.         private function draw():void
  96.         {
  97.             scene = new Scene3D; scene.root = new Object3D;
  98.             view = new View; view.camera = new Camera3D; scene.root.addChild (view.camera);
  99.               view.width = view.height = 465; view.camera.z = -500; addChild (view);
  100.             wasd = new CameraController (stage); wasd.camera = view.camera;
  101.             // set up limited WASD bindings
  102.             wasd.bindKey (65, CameraController.ACTION_LEFT);
  103.             wasd.bindKey (68, CameraController.ACTION_RIGHT);
  104.             wasd.bindKey (87, CameraController.ACTION_FORWARD);
  105.             wasd.bindKey (83, CameraController.ACTION_BACK);
  106.             wasd.checkCollisions = true;
  107.             wasd.collisionRadius = 3;
  108.             wasd.controlsEnabled = true;
  109.             wasd.mouseSensitivity = 0;
  110.             wasd.speed = 20;
  111.             var i0:int = 1, j0:int = 1;
  112.             for (var i:int = 0; i < SIZE; i++)
  113.             {
  114.                 for (var j:int = 0; j < SIZE; j++)
  115.                 {
  116.                     if (maze[i][j])
  117.                     {
  118.                         var box:Box = new Box (10610);
  119.                         box.x = i * 10; box.y = -1; box.z = j * 10;
  120.                         box.cloneMaterialToAllSurfaces (
  121.                             new FillMaterial (0xFF00, 1,
  122.                                 BlendMode.NORMAL, 20));
  123.                         scene.root.addChild (box);
  124.                     }
  125.                     else
  126.                     {
  127.                         i0 = i; j0 = j;
  128.                     }
  129.                 }
  130.             }
  131.             view.camera.x = i0 * 10;
  132.             view.camera.z = j0 * 10;
  133.             view.camera.rotationY = -3;
  134.             addEventListener (Event.ENTER_FRAME, function (e:Event):void {
  135.                 view.camera.rotationY += cam_da; cam_da *= 0.9;
  136.                 wasd.processInput (); scene.calculate ();
  137.             });
  138.             stage.addEventListener (MouseEvent.MOUSE_MOVE, function (e:MouseEvent):void {
  139.                 if (e.buttonDown) cam_da += (mouseX > cam_mx) ? 0.005 : -0.005;
  140.                 cam_mx = mouseX;
  141.             });
  142.         }
  143.         
  144.         private function initialize():void
  145.         {
  146.             maze = new Array(SIZE);
  147.             for (var i:int = 0; i < SIZE; i++)
  148.             {
  149.                 maze[i] = new Array(SIZE);
  150.             }
  151.             
  152.             for (i = 0; i < SIZE; i++)
  153.             {
  154.                 for (var j:int = 0; j < SIZE; j++)
  155.                 {
  156.                     if (i == 0 || j == 0 || i == SIZE - 1 || j == SIZE - 1 || i % 2 == 0 && j % 2 == 0)
  157.                     {
  158.                         maze[i][j] = true;
  159.                     }
  160.                     else
  161.                     {
  162.                         maze[i][j] = false;
  163.                     }
  164.                 }
  165.             }
  166.         }
  167.     }
  168. }
noswf
  1. // forked from rsakane's 迷路自動生成(棒倒し法)
  2. // write as3 code here..
  3. /**
  4.     rsakane
  5.     迷路自動生成
  6.     http://d.hatena.ne.jp/rsakane/20080612/p1
  7. */
  8. package
  9. {
  10.     import flash.display.Sprite;
  11.     import flash.events.MouseEvent;
  12.     import flash.text.TextField;
  13.     import flash.text.TextFieldType;
  14.     
  15.     public class Maze extends Sprite
  16.     {
  17.         private var maze:Array;
  18.         private var SIZE:int = 15;
  19.         
  20.         public function Maze()
  21.         {
  22.             stage.addEventListener(MouseEvent.MOUSE_DOWN,
  23.                                     function (event:MouseEvent):void
  24.                                     {
  25.                                         initialize();
  26.                                         boutaoshi();
  27.                                         draw();
  28.                                     }
  29.             );
  30.             
  31.             var tf:TextField = new TextField();
  32.             setTextField(tf, 0220, stage.stageWidth, 50false, TextFieldType.DYNAMIC);
  33.             addChild(tf);
  34.             tf.htmlText = '<font size="15">画面をクリックすると迷路を再生成できます</font>';
  35.             
  36.             initialize();
  37.             boutaoshi();
  38.             draw();
  39.         }
  40.         
  41.         private function boutaoshi():void
  42.         {
  43.             for (var y:int = 2; y < SIZE - 1; y += 2)
  44.             {
  45.                 var dx:int = 2;
  46.                 var dy:int = y;
  47.                 
  48.                 switch (Math.floor(Math.random() * 4))
  49.                 {
  50.                     case 0:
  51.                         dx++;
  52.                         break;
  53.                     case 1:
  54.                         dx--;
  55.                         break;
  56.                     case 2:
  57.                         dy++;
  58.                         break;
  59.                     case 3:
  60.                         dy--;
  61.                         break;
  62.                 }
  63.                 
  64.                 if (!maze[dx][dy])
  65.                 {
  66.                     maze[dx][dy] = true;
  67.                 }
  68.                 else
  69.                 {
  70.                     y -= 2;
  71.                 }
  72.             }
  73.             
  74.             for (var x:int = 4; x < SIZE - 1; x += 2)
  75.             {
  76.                 for (y = 2; y < SIZE - 1; y += 2)
  77.                 {
  78.                     dx = x;
  79.                     dy = y;
  80.                     
  81.                     switch (Math.floor(Math.random() * 3))
  82.                     {
  83.                         case 0:
  84.                             dy++;
  85.                             break;
  86.                         case 1:
  87.                             dy--;
  88.                             break;
  89.                         case 2:
  90.                             dx++;
  91.                             break;
  92.                     }
  93.                     
  94.                     if (!maze[dx][dy])
  95.                     {
  96.                         maze[dx][dy] = true;
  97.                     }
  98.                     else
  99.                     {
  100.                         y -= 2;
  101.                     }
  102.                 }
  103.             }
  104.         }
  105.         
  106.         private function draw():void
  107.         {
  108.             graphics.clear();
  109.             graphics.beginFill(0x880000);
  110.             for (var i:int = 0; i < SIZE; i++)
  111.             {
  112.                 for (var j:int = 0; j < SIZE; j++)
  113.                 {
  114.                     if (maze[i][j])
  115.                     {
  116.                         graphics.drawRect(i * 10, j * 101010);
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.         
  122.         private function initialize():void
  123.         {
  124.             maze = new Array(SIZE);
  125.             for (var i:int = 0; i < SIZE; i++)
  126.             {
  127.                 maze[i] = new Array(SIZE);
  128.             }
  129.             
  130.             for (i = 0; i < SIZE; i++)
  131.             {
  132.                 for (var j:int = 0; j < SIZE; j++)
  133.                 {
  134.                     if (i == 0 || j == 0 || i == SIZE - 1 || j == SIZE - 1 || i % 2 == 0 && j % 2 == 0)
  135.                     {
  136.                         maze[i][j] = true;
  137.                     }
  138.                     else
  139.                     {
  140.                         maze[i][j] = false;
  141.                     }
  142.                 }
  143.             }
  144.         }
  145.         
  146.         public function setTextField(tf:TextField, x:int, y:int, width:int, height:int, border:Boolean, type:String, text:String = "")
  147.         {
  148.             tf.x = x;
  149.             tf.y = y;
  150.             tf.width = width;
  151.             tf.height = height;
  152.             tf.border = border;
  153.             tf.type = type;
  154.             tf.htmlText = text;
  155.         }
  156.     }
  157. }
noswf
Get Adobe Flash Player