快速业务通道

Flash CS4教程:AS3制作非常漂亮的曲线

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-09
our Sprite, draw each button and create a Click event for each one in order to change from color and effect.

		public function LineEffect()
		{

			this.addChild(sp);
			this.addEventListener(Event.ENTER_FRAME, onEnter);

			drawFireBtn(fireBtn);
			drawSkyBtn(skyBtn);
			drawGrassBtn(grassBtn);
			drawSunBtn(sunBtn);

			fireBtn.addEventListener(MouseEvent.CLICK, makeFire);
			skyBtn.addEventListener(MouseEvent.CLICK, makeSky);
			grassBtn.addEventListener(MouseEvent.CLICK,makeGrass);
			sunBtn.addEventListener(MouseEvent.CLICK, makeSun);

			sp.filters = [bf, dropShadow];
		}
        }
}

Enter Frame Function

The following Enter Frame function will track the mouse coordinates and show the effect on the stage .

		private function onEnter(e:Event):void
		{
			var line:Graphics = sp.graphics;
			line.clear();
			line.lineStyle(2, 0xffffff);
			line.moveTo(mouseX, mouseY);

            var dx:Number = this.mouseX - prevmouseX;
			var vx:Number = dx ? dx : Math.random() * randSet(-1, 1);
			var dy:Number = this.mouseY - prevmouseY;
			var vy:Number = dy ? dy : Math.random() * randSet(-1, 1);
			var pLen:Number = points.push({x:this.mouseX, y:this.mouseY, vx:vx / 20, vy:vy / 20, life:getTimer()});

			for (var i:Number = 0; i < pLen; i++)
			{
				if (!points[i])
				{
					continue
				}
				if (getTimer() - points[i].life > 1000)
				{
					points.splice(i--, 1)
				}
				else
				{
					if (i!=0 && points[i])
					{
						points[i].x += points[i].vx;
						points[i].y += points[i].vy;
						var cx:Number = points[i - 1].x;
						var cy:Number = points[i - 1].y;
						line.curveTo(cx, cy, (points[i].x + cx) * 0.5, (points[i].y + cy) * 0.5 );
					}
					else
					{
						line.moveTo(points[i].x, points[i].y);
					}
				}
			}

			prevmouseX = this.mouseX;
			prevmouseY = this.mouseY;
                }
                private function randSet(p_min:Number,p_max:Number):Number
		{
			return Math.floor(Math.random() * 2);
		}
        }
}

Draw the buttons an

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号