百战天虫中子弹的挖坑效果

http://www.annjing.cn/article.asp?id=37

核心思路:

DEMO中的位图数据主要有3个:1、背景;2、地面(可被挖坑);3、挖坑用的包含透明圆球的位图(一个矩形位图,中间的圆圈为透明的)

  • //最最核心的一条语句  
  • _earth.bitmapData.copyPixels(_earth.bitmapData, rect, point, abmd);
  • 其中_earth.bitmapData就是刚才提到的位图2,rect和point不解释,

    重点是这个abmd,就是刚才提到的位图3,这里我的生成方法是:

    /** 

  •  * 得到一个球体的对象 
  •  * @param pow 随机圆的半径 
  •  * @return 
  •  * 
  •  */  
  • private function getCircleBMD(pow:int):BitmapData  
  • {  
  •     var bmd:BitmapData = new BitmapData(pow * 2, pow * 2, true, 0xFF000000);  
  •     var spr:Sprite = new Sprite();  
  •     spr.graphics.beginFill(0xFFFFFF, 1);  
  •     spr.graphics.drawCircle(pow, pow, pow);  
  •     spr.graphics.endFill();  
  •     bmd.draw(spr);  
  •     bmd.floodFill(bmd.width / 2, bmd.height / 2, 0x00000000);  
  •     return bmd;  
  • }  
  • 完整的项目代码在这里:

    http://download.csdn.net/source/3018108 

    posted on 2011-02-25 08:55  jiahuafu  阅读(359)  评论(0编辑  收藏  举报

    导航