最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【水果忍者】血日狂刀代码-_-#真的只有一把刀_html5教程


    本人是学php的,但是早期对于as3还是有一段时间的研究,虽然flash已经被淘汰了,但是对于程序语言无比热爱的我来说,

    actionscript的有些方面还是值得借鉴的,as3在游戏开发方面就很有特色。

    下面是本人整理的水果忍者里的一把刀代码,

    代码贴上,仅供参考:

    Main.as

     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 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);
       }
      }
     }
    }

    本文由php中文网提供,介绍了如何使用as3写出一把水果忍者里的刀的代码,鉴于flash已被淘汰,代码仅供参考。

    文章地址:http://www.liyege.cn/html5-tutorial-374270.html

    请勿转载~~~~

    不喜勿喷~~~~~

    以上就是【水果忍者】血日狂刀代码-_-#真的只有一把刀的详细内容,

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1170会员总数(位)
    • 111858资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 244稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    [email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐