基本信息
源码名称:flash切水果游戏源码下载
源码大小:0.02M
文件格式:.zip
开发语言:Flash
更新时间:2015-07-02
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
flash切水果
flash切水果
flash切水果
flash切水果
package { import flash.events.*; import flash.display.*; import flash.filters.BitmapFilter; import flash.filters.BlurFilter; import flash.filters.GlowFilter; import flash.geom.ColorTransform; import flash.text.*; public class Main extends Sprite { private var info:TextField private var score:int = 0 private var lost:int = 0 private var time:int = 0 private var particles:Array private var rubbishs:Array private var lines:Array private var cutlayer:Shape private var cutBmdLayer:BitmapData private var cutlayerFilter:BitmapFilter private var cutlayerCT:ColorTransform private var flayer:Shape private var fBmdLayer:BitmapData private var flayerFilter:BitmapFilter private var flayerCT:ColorTransform private var lastX:Number private var lastY:Number public function Main():void { this.particles = []; this.rubbishs = []; this.lines = []; this.cutlayer = new Shape(); this.flayer = new Shape(); super(); Wonderfl.capture(stage); this.info = new TextField(); this.info.autoSize = TextFieldAutoSize.LEFT; this.info.multiline = true; this.fBmdLayer = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0); addChild(new Bitmap(this.fBmdLayer)); this.flayerFilter = new BlurFilter(); this.flayerCT = new ColorTransform(1, 1, 1, 0.5); this.cutBmdLayer = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0); var _local1:Bitmap = new Bitmap(this.cutBmdLayer); addChild(_local1); addChild(this.info); _local1.filters = [new GlowFilter(0xFF0000, 1, 16, 16, 2, 3, false, false)]; this.cutlayerFilter = new BlurFilter(2, 2, 3); this.cutlayerCT = new ColorTransform(1, 1, 1, 0); stage.addEventListener(MouseEvent.MOUSE_DOWN, this.onMD); addEventListener(Event.ENTER_FRAME, this.update); _scene = new Sprite(); this.addChild(_scene); _scene.filters = [new GlowFilter(0x00CCFF, 1, 10, 10, 2, 1, false, false)]; stage.addEventListener(MouseEvent.MOUSE_DOWN, downHandler); stage.addEventListener(MouseEvent.MOUSE_UP, upHandler); this.addEventListener(Event.ENTER_FRAME, enterFrame); } private function onMD(_arg1:MouseEvent):void { this.lastX = mouseX; this.lastY = mouseY; stage.addEventListener(MouseEvent.MOUSE_MOVE, this.onMM); stage.addEventListener(MouseEvent.MOUSE_UP, this.onMU); } private function onMU(_arg1:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMM); stage.removeEventListener(MouseEvent.MOUSE_UP, this.onMU); } private function onMM(_arg1:MouseEvent):void { var _local2:Line1 = new Line1(); _local2.x1 = this.lastX; _local2.y1 = this.lastY; this.lastX = mouseX; this.lastY = mouseY; _local2.x2 = this.lastX; _local2.y2 = this.lastY; this.lines.push(_local2); } private function update(_arg1:Event):void { var _local4:Particle; var _local5:Line1; var _local6:int; var _local7:Object; var _local8:Particle; var _local2:Graphics = this.flayer.graphics; _local2.clear(); var _local3:int = (this.particles.length - 1); while (_local3 >= 0) { _local4 = this.particles[_local3]; _local4.update(_local2); if (_local4.y > stage.stageHeight) { if (_local4.state == 0) { this.lost ; } ; this.particles.splice(_local3, 1); } ; _local3--; } ; _local3 = (this.rubbishs.length - 1); while (_local3 >= 0) { _local4 = this.rubbishs[_local3]; _local4.update(_local2); if (_local4.y > stage.stageHeight) { this.rubbishs.splice(_local3, 1); } ; _local3--; } ; this.cutlayer.graphics.clear(); _local3 = (this.lines.length - 1); while (_local3 >= 0) { _local5 = this.lines[_local3]; if (_local5.state == 0) { _local6 = (this.particles.length - 1); while (_local6 >= 0) { _local4 = this.particles[_local6]; _local7 = this.intersection(_local5.x1, _local5.y1, _local5.x2, _local5.y2, _local4.x, _local4.y, _local4.r); if ((((_local4.state == 0)) && (!((_local7 == null))))) { _local4.state = 1; _local4.cut(_local7.x1, _local7.y1, _local7.x2, _local7.y2); _local8 = new Particle(); _local8.x = _local4.x; _local8.y = _local4.y; _local8.vx = _local4.vx; _local8.vy = _local4.vy; _local8.r = _local4.r; _local8.av = _local4.av; _local8.lineColor = _local4.lineColor; _local8.color = _local4.color; _local8.state = _local4.state; _local8.cut(_local7.x2, _local7.y2, _local7.x1, _local7.y1); this.particles.push(_local8); this.score ; this.rubbish(_local4.x, _local4.y, _local4.color); } ; _local6--; } ; } ; _local5.state ; if (_local5.state > 5) { this.lines.splice(_local3, 1); } ; this.cutlayer.graphics.lineStyle((_local3 / 5), 0, 1, true, "none", "round", "round", 1); this.cutlayer.graphics.moveTo(_local5.x1, _local5.y1); this.cutlayer.graphics.lineTo(_local5.x2, _local5.y2); _local3--; } ; this.cutBmdLayer.colorTransform(this.cutBmdLayer.rect, this.cutlayerCT); this.cutBmdLayer.draw(this.cutlayer); this.fBmdLayer.colorTransform(this.fBmdLayer.rect, this.flayerCT); this.fBmdLayer.applyFilter(this.fBmdLayer, this.fBmdLayer.rect, this.fBmdLayer.rect.topLeft, this.flayerFilter); this.fBmdLayer.draw(this.flayer); this.info.text = ((((("lost:" this.lost) " score:") this.score) " time:") int((this.time / stage.frameRate))); this.time ; if (Math.random() < Math.atan((0.02 (this.time / 100000)))) { this.addFruit(); } ; } private function addFruit():void { var _local1:Particle = new Particle(); _local1.x = (stage.stageWidth * (0.3 (0.4 * Math.random()))); _local1.y = stage.stageHeight; _local1.vx = (5 * (Math.random() - 0.5)); _local1.vy = -((20 (20 * Math.random()))); _local1.r = (15 (25 * Math.random())); _local1.a = ((Math.PI * 2) * Math.random()); _local1.av = (0.1 * (Math.random() - 0.5)); this.particles.push(_local1); } private function rubbish(_arg1:Number, _arg2:Number, _arg3:uint):void { var _local5:Particle; var _local6:Number; var _local4:int = (100 * Math.random()); while (_local4-- > 0) { _local5 = new Particle(); _local5.color = _arg3; _local5.lineColor = _arg3; _local5.x = _arg1; _local5.y = _arg2; _local5.r = (0 (1 * Math.random())); _local5.a = ((Math.PI * 2) * Math.random()); _local5.av = (0.1 * (Math.random() - 0.5)); _local6 = (10 * Math.random()); _local5.vx = (_local6 * Math.cos(_local5.a)); _local5.vy = (_local6 * Math.sin(_local5.a)); this.rubbishs.push(_local5); } } private function intersection(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Object { var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Object; var _local8:Number = (((_arg3 - _arg1) * (_arg3 - _arg1)) ((_arg4 - _arg2) * (_arg4 - _arg2))); var _local9:Number = (2 * (((_arg3 - _arg1) * (_arg1 - _arg5)) ((_arg4 - _arg2) * (_arg2 - _arg6)))); var _local10:Number = ((((((_arg5 * _arg5) (_arg6 * _arg6)) (_arg1 * _arg1)) (_arg2 * _arg2)) - (2 * ((_arg5 * _arg1) (_arg6 * _arg2)))) - (_arg7 * _arg7)); var _local11:Number = ((_local9 * _local9) - ((4 * _local8) * _local10)); if (_local11 > 0) { _local12 = Math.sqrt(_local11); _local13 = (((-(_local9) _local12) / 2) / _local8); _local14 = (((-(_local9) - _local12) / 2) / _local8); _local15 = (_arg1 ((_arg3 - _arg1) * _local13)); _local16 = (_arg2 ((_arg4 - _arg2) * _local13)); _local17 = (_arg1 ((_arg3 - _arg1) * _local14)); _local18 = (_arg2 ((_arg4 - _arg2) * _local14)); _local19 = {x1:_local15, y1:_local16, x2:_local17, y2:_local18}; if ((((_local13 > 0)) && ((_local13 < 1)))) { return (_local19); } ; if ((((_local14 > 0)) && ((_local14 < 1)))) { return (_local19); } ; } ; return (null); } private var _cacheX:int; private var _cacheY:int; private var _isDown:Boolean; private var _scene:Sprite; private function downHandler(e:MouseEvent):void { _cacheX = mouseX; _cacheY = mouseY; _isDown = true; } private function upHandler(e:MouseEvent):void { _isDown = false; } private function enterFrame(e:Event):void { for each (var l:Line in Line.sets) { l.update(); } updateLine(); } private function updateLine():void { if (!_isDown) return; var line:Line = new Line(_cacheX, _cacheY, mouseX, mouseY); _scene.addChild(line); _cacheX = mouseX; _cacheY = mouseY; } } }//package import flash.display.*; class Line1 { public var x1:Number public var y1:Number public var x2:Number public var y2:Number public var state:int = 0 public function Line1() { } public function get length():Number { return (Math.sqrt((((this.x2 - this.x1) * (this.x2 - this.x1)) ((this.y2 - this.y1) * (this.y2 - this.y1))))); } } import flash.display.Sprite; class Line extends Sprite { static public var sets:Array = []; public var sX:int; public var sY:int; public var eX:int; public var eY:int; public var linesize:Number; public var state:int = 0 public function Line($sX:int, $sY:int, $eX:int, $eY:int, $linesize:Number = 8) { sets.push(this); sX = $sX; sY = $sY; eX = $eX; eY = $eY; linesize = $linesize; draw(); } private function draw():void { graphics.clear(); graphics.lineStyle(linesize, 0xFFFFFF); graphics.moveTo(sX, sY); graphics.lineTo(eX, eY); } public function update():void { draw(); linesize -= 1; if (linesize < 1) { clear(); } } private function clear() { graphics.clear(); for (var i:String in sets) { var l:Line = sets[i] as Line; if (l == this) { sets.splice(i, 1); parent.removeChild(this); } } } } class Particle { public var x:Number public var y:Number public var g:Number = 0.5 public var vx:Number public var vy:Number public var friction:Number = 0.95 public var r:Number public var color:uint public var state:int = 0 private var a1:Number private var a2:Number public var av:Number public var a:Number = 0 public var lineColor:uint public function Particle() { this.color = 0xFFFFFF * Math.random(); lineColor = 0xFFFFFF * Math.random(); super(); } public function update(_arg1:Graphics):void { this.vx = (this.vx * this.friction); this.x = (this.x this.vx); this.vy = (this.vy this.g); this.vy = (this.vy * this.friction); this.y = (this.y this.vy); this.a = (this.a this.av); _arg1.beginFill(this.color); //_arg1.lineStyle(3, this.lineColor, 1, false, "normal", CapsStyle.NONE); if (this.state == 0) { _arg1.moveTo((this.x (this.r * Math.cos(this.a))), (this.y (this.r * Math.sin(this.a)))); _arg1.drawCircle(this.x, this.y, this.r); } else { this.a1 = (this.a1 this.av); this.a2 = (this.a2 this.av); this.drawArc(_arg1, this.x, this.y, this.r, (((this.a2 - this.a1) * 180) / Math.PI), ((this.a1 * 180) / Math.PI)); } //_arg1.lineStyle(); } public function cut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void { this.a1 = Math.atan2((_arg2 - this.y), (_arg1 - this.x)); this.a2 = Math.atan2((_arg4 - this.y), (_arg3 - this.x)); if (_arg1 > _arg3) { this.vx = (this.vx 3); this.av = (this.av 0.05); } else { this.vx = (this.vx - 3); this.av = (this.av - 0.05); } } public function drawArc(_arg1:Graphics, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number = 0):void { var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; if (_arg5 < 0) { _arg5 = (_arg5 360); } ; if (_arg5 > 360) { _arg5 = 360; } ; _arg5 = ((Math.PI / 180) * _arg5); var _local7:Number = (_arg5 / 8); var _local8:Number = (_arg4 / Math.cos((_local7 / 2))); _arg6 = (_arg6 * (Math.PI / 180)); var _local9:Number = _arg6; var _local14:Number = (_arg2 (Math.cos(_arg6) * _arg4)); var _local15:Number = (_arg3 (Math.sin(_arg6) * _arg4)); _arg1.moveTo(_local14, _local15); var _local16:Number = 0; while (_local16 < 8) { _local9 = (_local9 _local7); _local10 = (_arg2 (Math.cos((_local9 - (_local7 / 2))) * _local8)); _local11 = (_arg3 (Math.sin((_local9 - (_local7 / 2))) * _local8)); _local12 = (_arg2 (Math.cos(_local9) * _arg4)); _local13 = (_arg3 (Math.sin(_local9) * _arg4)); _arg1.curveTo(_local10, _local11, _local12, _local13); _local16 ; } ; } }