forked from: 不規則に跳ねる玉

by Evolutor forked from 不規則に跳ねる玉 (diff: 15)
自由気ままに飛び跳ねる玉達
左右の壁に当たった時もballのY軸の動きを変更(玉の数を減らしてわかり易く)
♥0 | Line 39 | Modified 2010-01-29 00:49:25 | MIT License
play

ActionScript3 source code

/**
 * Copyright Evolutor ( http://wonderfl.net/user/Evolutor )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/wcGO
 */

// forked from Evolutor's 不規則に跳ねる玉

// 自由気ままに飛び跳ねる玉達
// 左右の壁に当たった時もballのY軸の動きを変更(玉の数を減らしてわかり易く)

package{
	import flash.display.*;
	import flash.events.*;
	
	public class Main extends Sprite{
		public function Main(){
			stage.frameRate = 60;
			var gravity:Number = 0.5;
			var ballY:int = -22;
			for (var i:int=0; i<5; i++){
				var ball:MovieClip = new MovieClip();
				ball.graphics.beginFill(0xffffff*Math.random());
				ball.graphics.drawCircle(0, 0, 10);
				ball.graphics.endFill();
				ball.speedX = Math.random()*20-10;
				ball.speedY = Math.random()*ballY;
				addChild(ball);
				ball.addEventListener(Event.ENTER_FRAME, randomBall);
			}
			
			function randomBall(evt:Event):void{
				var ball:MovieClip=MovieClip(evt.target);
				ball.speedY += gravity;
				ball.x += ball.speedX;
				ball.y += ball.speedY;
				if (ball.y>stage.stageHeight){
					ball.speedX = Math.random()*20-10;
					ball.speedY = Math.random()*ballY;
				}
				if(ball.x>stage.stageWidth-10){
					ball.speedX *= -1;
					ball.speedY = Math.random()*ballY;
				}
				if(ball.x<0){
					ball.speedX *= -1;
					ball.speedY = Math.random()*ballY;
				}
			}
		}
	}
}

Forked