查看: 3202|回复: 5

[有事请教] sprite.bitmap.width无法得到图片宽度是什么原因?怎么办?

[复制链接]
梦石
0
星屑
4134
在线时间
443 小时
注册时间
2015-4-4
回帖
117
发表于 2018-12-25 11:49:45 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 玄羽 于 2018-12-25 13:54 编辑

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-12-25 14:15:32 | 显示全部楼层
图片还没加载完
回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-12-25 14:32:08 | 显示全部楼层
本帖最后由 ekmomo 于 2018-12-25 14:39 编辑

bitmap下有个_image保存Image对象,可以用该对象的onload事件。

举个例子——直接指定图片像素,自行修改脚本第一行,id即图片ID,width 和height 即图片缩放后的宽高。

  1. (function(){
  2. var id = 55, width = 200, height = 200;
  3. var pic = $gameScreen._pictures[id];
  4. var img = new Image();
  5. img.src = "img/pictures/" + pic._name + ".png";
  6. img.onload = function() {
  7. var sx = Math.floor(width / img.width * 100);
  8. var sy = Math.floor(height / img.height * 100);
  9. pic._scaleX = sx;
  10. pic._scaleY = sy;
  11. }})();
复制代码

点评

要怎么应用的精灵图片中呢?  发表于 2018-12-25 17:27
回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-12-25 18:21:13 | 显示全部楼层
  1. var sprite = new Sprite();
  2. sprite.bitmap = ImageManager.loadSystem("GameOver");
  3. console.log(sprite.bitmap.width);
  4. //输出0
复制代码
  1. var sprite = new Sprite();
  2. sprite.bitmap = ImageManager.loadSystem("GameOver");
  3. sprite.bitmap._image.onload = function(){
  4. console.log(sprite.bitmap.width);
  5. };
  6. //输出816
复制代码



点评

谢谢  发表于 2018-12-26 15:26
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部