楼主: celica

[有事请教] 请问用blt画图时,以邻近的形式缩放

[复制链接]
梦石
0
星屑
566
在线时间
46 小时
注册时间
2017-10-23
回帖
12
 楼主| 发表于 2020-6-5 20:24:14 | 显示全部楼层
lvashe 发表于 2020-6-5 19:57
this.icon =....
this.icon.smooth = ....(not necessary)
this.icon.context.....(not necessary)

7.png

8.png

Project1.zip (1.25 MB, 下载次数: 43)

in my computer


@chyj4747
传了工程文件,在我电脑上就是糊的
回复

使用道具 举报

梦石
0
星屑
566
在线时间
46 小时
注册时间
2017-10-23
回帖
12
 楼主| 发表于 2020-6-5 21:11:15 | 显示全部楼层
lvashe 发表于 2020-6-5 19:57
this.icon =....
this.icon.smooth = ....(not necessary)
this.icon.context.....(not necessary)

33.png
在生成Sprite之前blt.
in my computer ... invalid
回复

使用道具 举报

梦石
0
星屑
758
在线时间
43 小时
注册时间
2011-4-15
回帖
6
发表于 2020-6-5 21:35:57 | 显示全部楼层
本帖最后由 lvashe 于 2020-6-5 21:42 编辑

sorry , it's "enabled" not "enable" :(
it was my fault
回复

使用道具 举报

梦石
0
星屑
1998
在线时间
137 小时
注册时间
2020-5-7
回帖
34
发表于 2020-6-5 22:29:47 | 显示全部楼层
本帖最后由 chyj4747 于 2020-6-5 22:35 编辑
celica 发表于 2020-6-5 19:55
测试的,在我电脑上就是糊的。


换了种做法,模糊估计是blt这个函数的内部处理,毕竟是把小尺寸图标画满大尺寸画布
个人推荐图片加载后直接添加到Sprite中,相当于sprite.bitmap = loadImage(....),然后设置精灵的缩放,如果图片是图集,那么可以调用sprite的setFrame方法来设置显示区域
我自己的项目中一般blt是用来画背景的,所以糊不糊都一样,基本看不出来
另外,下面这种做法更简洁,blt需要等图片异步加载完成之后才能真的去绘制,不然画不出来,也就是需要在update中等待bitmap.isReady
  1. Spriteset_Map.prototype.createLowerLayer = function() {
  2.     Spriteset_Base.prototype.createLowerLayer.call(this);
  3.     this.createParallax();
  4.     this.createTilemap();
  5.     this.createCharacters();
  6.     this.createShadow();
  7.     this.createDestination();
  8.     this.createWeather();

  9.     this.icon = ImageManager.loadBitmap('img/system/', 'IconSet', 0, false);
  10.     this.a = new Sprite(this.icon);
  11.     this.a.scale.set(4, 4);
  12.     this.a.setFrame(64, 64, 32, 32);

  13.     this.addChild(this.a);
  14. };
复制代码

你或许是想把所有图片都画到一个sprite的bitmap上去,但其实没必要,完全可以分开

点评

不是还有个 bltImage 么,可以试试这个  发表于 2020-6-6 06:29
回复

使用道具 举报

梦石
0
星屑
566
在线时间
46 小时
注册时间
2017-10-23
回帖
12
 楼主| 发表于 2020-6-5 22:38:44 | 显示全部楼层
chyj4747 发表于 2020-6-5 22:29
换了种做法,模糊估计是blt这个函数的内部处理,毕竟是把小尺寸图标画满大尺寸画布
个人推荐图片加载后直 ...

感谢帮助,
我主要是想制作卡片(bitmap),重复的时候直接调用相同的卡就行,
这样会多出几个Sprite,不知道会不会有效率的影响(前代RGSS里sprite的多少影响还满大的)
我还是精简icon自己放大多做几张原图吧。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部