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 FunctionThe 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash CS4教程:AS3制作非常漂亮的曲线的所有评论