In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: flash on 2009-12-30

つくっててなんだかわからなくなってきた
方向キーで青い丸が動く 緑を押しのける
Get Adobe Flash player
by derburg 30 Dec 2009
    Embed
/**
 * Copyright derburg ( http://wonderfl.net/user/derburg )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/ilHL
 */

// forked from derburg's flash on 2009-12-30

//つくっててなんだかわからなくなってきた
//方向キーで青い丸が動く 緑を押しのける

package {
    import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.ui.Keyboard;
	import flash.text.TextField;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	
	import flash.display.Loader;
	import flash.net.URLRequest;
	
	[SWF(width="500",height="500" ,frameRate="30", backgroundColor="0x9999ff")]
			
	public class testFlash extends Sprite{
		
		public const stageW:uint = stage.stageWidth;
		public const stageH:uint = stage.stageHeight;

		
		private var ball:Ball;
		private var enem:Ball;
		
		private var enems:Array;
		
		
		private var up_flag:Boolean;
		private var down_flag:Boolean;
		private var left_flag:Boolean;
		private var right_flag:Boolean;
		
		public function testFlash():void{
		stage.align = StageAlign.TOP_LEFT;
		stage.scaleMode = StageScaleMode.NO_SCALE;
			
		var bmpDat:BitmapData= new BitmapData( 500, 500, false, 0x000000 );

		var bmp:Bitmap= new Bitmap( bmpDat );
		addChild( bmp );
			
			up_flag = false;
			down_flag = false;
			left_flag = false;
			right_flag = false;
			
			ball = new Ball(20,0x0044ff);
			ball.x=250;
			ball.y=340;
			addChild(ball);
			
			enems = new Array();
			for(var i:int = 0; i < 40; i++){
				var e:Ball = new Ball(10,0x55ff99);
				e.x=Math.random()*500;e.y=Math.random()*500;
				enems.push(e);
				addChild(e);
			}
			
			
			stage.addEventListener(Event.ENTER_FRAME,onFrame);
			stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
			stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUP);
		}
		
		public function onFrame(e:Event):void{
			
			if(up_flag == true)ball.y-=3;
			if(down_flag == true)ball.y+=3;
			if(right_flag == true)ball.x+=3;
			if(left_flag == true)ball.x-=3;
			
			
			if(ball.x < ball.width/2)
					ball.x=ball.width/2;
			if(ball.x > (500 - ball.width/2))
					ball.x=500 - ball.width/2;
			if(ball.y < ball.height/2)
					ball.y=ball.height/2;
			if(ball.y > 500 - ball.height/2)
					ball.y=500 - ball.height/2;
			
			
			for(var i:int = 0;i<enems.length;i++)
			{
				collision_m_e(ball,enems[i]);
			}
			for(var j:int = 0;j<enems.length;j++)
			{
				for(var k:int =0;k<enems.length;k++)
				{
					if(j != k)
					{
						collision(enems[j],enems[k]);
					}
				}
			}
			
		}
		
		public function collision_m_e(b1:Ball,b2:Ball):void{
			var dx:Number = Number(b2.x - b1.x);
			var dy:Number = Number(b2.y - b1.y);
			var dlen:Number = Math.sqrt(Math.pow(dx,2)+Math.pow(dy,2));
			
			if(dx == 0.0 && dy ==0.0)
			{
				dx+=Math.random();
			}
			
			var rad:Number = Math.atan2(dy,dx);
			var minlen:Number = b1.width/2+b2.width/2;
			if(dlen < minlen){
				b2.y += Math.sin(rad)*(minlen-dlen);
				b2.x += Math.cos(rad)*(minlen-dlen);
			}
			
			if(b2.x < b2.width/2)
					b2.x=b2.width/2;
			if(b2.x > (500 - b2.width/2))
					b2.x=500 - b2.width/2;
			if(b2.y < b2.height/2)
					b2.y=b2.height/2;
			if(b2.y > 500 - b2.height/2)
					b2.y=500 - b2.height/2;
			
			return;
		}
		
		public function collision(b1:Ball,b2:Ball):void{
			var dx:Number = Number(b2.x - b1.x);
			var dy:Number = Number(b2.y - b1.y);
			var dlen:Number = Math.sqrt(Math.pow(dx,2)+Math.pow(dy,2));
			var rad:Number = Math.atan2(dy,dx);
			var minlen:Number = b1.width/2+b2.width/2;
			if(dlen < minlen){
				b1.y -= Math.sin(rad)*(minlen-dlen);
				b1.x -= Math.cos(rad)*(minlen-dlen);
				b2.y += Math.sin(rad)*(minlen-dlen);
				b2.x += Math.cos(rad)*(minlen-dlen);
			}
			
			if(b1.x < b1.width/2)
					b1.x=b1.width/2;
			if(b1.x > (stage.stageWidth - b1.width/2))
					b1.x=stage.stageWidth - b1.width/2;
			if(b1.y < b1.height/2)
					b1.y=b1.height/2;
			if(b1.y > stage.stageHeight - b1.height/2)
					b1.y=stage.stageHeight - b1.height/2;
			
			if(b2.x < b2.width/2)
					b2.x=b2.width/2;
			if(b2.x > (stage.stageWidth - b2.width/2))
					b2.x=stage.stageWidth - b2.width/2;
			if(b2.y < b2.height/2)
					b2.y=b2.height/2;
			if(b2.y > stage.stageHeight - b2.height/2)
					b2.y=stage.stageHeight - b2.height/2;
			
			return;
		}
		
		public function onKeyDown(e:KeyboardEvent):void{
			switch(e.keyCode){
			  case Keyboard.UP:
				up_flag = true;
				break;
			  case Keyboard.DOWN:
				down_flag = true;
				break;
			  case Keyboard.LEFT:
				left_flag = true;
				break;
			  case Keyboard.RIGHT:
				right_flag = true;
				break;
				
			  default:
				break;
			}
		}
		public function onKeyUP(e:KeyboardEvent):void{
			switch(e.keyCode){
			  case Keyboard.UP:
				up_flag = false;
				break;
			  case Keyboard.DOWN:
				down_flag = false;
				break;
			  case Keyboard.LEFT:
				left_flag = false;
				break;
			  case Keyboard.RIGHT:
				right_flag = false;
				break;
				
			  default:
				break;
			}
		}
	}
}

import flash.display.Sprite;
class Ball extends Sprite{
	private var _r:int;
	private var _color:uint;
	
	public function Ball(r:int, color:uint){
		_r = r;
		_color = color;
		graphics.beginFill(_color);
		graphics.drawCircle(0,0,_r);
		graphics.endFill();
	}
	
}


import flash.display.Sprite;
import flash.net.URLRequest;
import flash.display.Loader;
class imgSprite extends Sprite{
	private var _image:Loader;
	  function imgSprite(filename:String){
		var imgurl:URLRequest = new URLRequest(filename);
		_image = new Loader();
		_image.load(imgurl);
		addChild(_image);
	}
}