守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 1782|回复: 0

[ActionScript] 网页游戏中的血值表现

[复制链接]
  • TA的每日心情
    慵懒
    2015-4-16 10:25
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    18

    主题

    19

    帖子

    1284

    积分

    版主

    Rank: 16Rank: 16Rank: 16Rank: 16

    威望
    11
    贡献
    0
    金币
    359
    钢镚
    20
    发表于 2015-9-22 20:58:28 | 显示全部楼层 |阅读模式
    本帖最后由 yaoyuan0701 于 2015-9-22 20:58 编辑

    大家经常玩网页游戏,里面肯定有各种各样的血值,比如你砍怪一刀,怪头顶会出一个-999的字样,那么这种血值是怎么表现出来呢,下面介绍一种最常见的表现方式:评数字。

    只准备0-9数字素材即可,那么就可以随便组成任意数了。


    把素材发布swc 嵌入到项目里的lib里面,拼数字其实就是评像素。

    像素的复制在下面函数
    1. private function showAllScoreNum1(num:MovieClip,score:int):Sprite
    2.                 {
    3.                         var txtWidth:Number = num.width;
    4.                         var txtHeight:Number = num.height;
    5.                         var mBit:BitmapData = new BitmapData(num.width,num.height,true,0xffffff);
    6.                         mBit.draw(num);
    7.                         var arr:Array = String(score).split("");
    8.                         var rect:Rectangle;
    9.                         var sp:Sprite = new Sprite();
    10.                         for(var s:int = 0;s<arr.length;s++)
    11.                         {
    12.                                 var j:int = (int(arr[s]));
    13.                                 rect= new Rectangle(txtWidth/10*(j),0,txtWidth/10,txtHeight);
    14.                                 var pt:Point = new Point(0,0);
    15.                                 var bmd:BitmapData = new BitmapData(txtWidth/10,txtHeight,true,0x00000000);
    16.                                 bmd.copyPixels(mBit, rect, pt);
    17.                                 var bitmap:Bitmap = new Bitmap(bmd);
    18.                                 bitmap.x = (txtWidth/10)*s;
    19.                                 bitmap.smoothing = true;
    20.                                 sp.addChild(bitmap);
    21.                         }
    22.                         sp.x = stage.stageWidth/2;
    23.                         sp.y  = stage.stageHeight/2;
    24.                         return sp;
    25.                 }
    复制代码
    1. </blockquote></div>
    2. 道理很简单,先把图片分出10个像素 0-9 然后根本传入参数显示就行了。
    3. 返回的sp就是显示的容器。
    4. <div class="blockcode"><blockquote>this.addChild(showAllScoreNum1(new blood_mc,97642135));
    复制代码




    如上图,我显示出了97642135的数值。



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 1威望 +2 收起 理由
    shawn00 + 2

    查看全部评分

    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2024-4-19 07:45 , Processed in 0.093379 second(s), 38 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表