赞 | 123 |
VIP | 13 |
好人卡 | 16 |
积分 | 195 |
经验 | 38692 |
最后登录 | 2024-11-22 |
在线时间 | 3106 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 19468
- 在线时间
- 3106 小时
- 注册时间
- 2013-1-11
- 帖子
- 1292
|
本帖最后由 张咚咚 于 2020-5-10 23:02 编辑
再次讨论一下关于那个font.dup混乱的bug(由于手动定义Font的dup还是会偶尔出现, 搞得很头大...而且经过某种dup场合后, 必定出现, 就是可能换一下draw_text的位置会解决, 也有可能bitmap = bitmap.dup.dup, 重复dup一次可能会解决, 也有可能解决不了...)。
不过又找到了一个关键点。
- bg = Sprite.new
- bg.bitmap = Bitmap.new(544,416)
- bg.bitmap.fill_rect(bg.bitmap.rect, Color.new(255,255,255,180))
- s = Sprite.new
- b = s.bitmap = Bitmap.new(100,24)
- loop do
- f = b.font.dup
- b.font = f
- b.clear
- b.draw_text(b.rect, "ABCDEFG")
-
- Graphics.update
- Input.update
- end
复制代码
上面这段脚本, 是不断dup赋值font然后draw_text绘制, win7和win10测试都是会现该bug, 打开只要挂着, 字体的颜色会每隔三秒左右就会变一下。
但是如果把上面脚本的前三行注释掉, 变成纯黑色背景的话, win7则变成了三秒后文字直接变黑色, 之后就不会再变化了, win10则是白色字体永远正常不会变化的。
GIF图(Win7)
PNG(Win10)
|
|