canvas图片数字计时

ps:整个源代码见附件

一.准备spirit素材

本文所用素材是我自己手动切割的,所以。。。。 
制作sprite推荐神器texturepacker https://www.codeandweb.com/texturepacker 
图片标题

准备10张数字图片,文件名和数字内容一致,依次拖入texturepacker,便可生成对应的spirit所需要的data。

  
  
  1. {
  2. "images": [
  3. "number.png"
  4. ],
  5. "frames": [
  6. [1, 1, 246, 398, 0, 0, 0],
  7. [249, 1, 246, 398, 0, 0, 0],
  8. [1, 401, 246, 398, 0, 0, 0],
  9. [249, 401, 246, 398, 0, 0, 0],
  10. [1, 801, 246, 397, 0, 0, 0],
  11. [249, 801, 246, 397, 0, 0, 0],
  12. [1, 1200, 246, 397, 0, 0, 0],
  13. [249, 1200, 246, 397, 0, 0, 0],
  14. [1, 1599, 246, 397, 0, 0, 0],
  15. [249, 1599, 246, 397, 0, 0, 0]
  16. ],
  17. "animations": {
  18. "0": { "frames": [4] },
  19. "1": { "frames": [5] },
  20. "2": { "frames": [6] },
  21. "3": { "frames": [0] },
  22. "4": { "frames": [1] },
  23. "5": { "frames": [7] },
  24. "6": { "frames": [8] },
  25. "7": { "frames": [2] },
  26. "8": { "frames": [3] },
  27. "9": { "frames": [9] }
  28. },
  29. "texturepacker": [
  30. "SmartUpdateHash: $TexturePacker:SmartUpdate:b387407a091e8fb0769ecd10b0d27b6b:3f9ca832d37bfffe36aeb22e31c1786d:508720d883ff213f9536efb7456c155b$",
  31. "Created with TexturePacker (https://www.codeandweb.com/texturepacker) for EaselJS"
  32. ]
  33. }

images:texturepacker生成spirit图片 
frames:指定每一帧的信息,参数依次为x,y,width, height,imageIndex,regX,regY(x,y为该帧对应的图片在spirit图片上的起始位置) 
animations定义帧的动画对象

二、建立SpriteSheet

创建SpriteSheet对象需要传递一个data,包含images,frames和animations,这里我们已经使用texturepacker生成好了数据,将它赋值给变量data即可。

  
  
  1. var spritesheet = new createjs.SpriteSheet(data);

三、BitmapText

BitmapText用来使用SpriteSheet中的图片展现文本,接受两个参数,一个是待显示的文本,一个是spritesheet对象。

  
  
  1. var timeTxt = new createjs.BitmapText(time.toString(), spritesheet);

四、创建舞台

舞台stage用来容纳呈现所有的元素,我们创建一个舞台,并将这个舞台和我们的canvas绑定。然后将我们创建的BitmapText添加到舞台。 
注意:每次修改stage之后都要更新它,才能生效stage.update();

  
  
  1. var canvas = documents.getElementById('canvas');
  2. var stage = new createjs.Stage(canvas);
  3. stage.addChild(timeTxt);
  4. stage.update();

五、加载图像

将操作放在图像onload之后

  
  
  1. var img = new Image();
  2. img.src='number.png';
  3. img.onload=function(){
  4. ...
  5. }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值