Project1
标题:
关于Sprite描画的一个问题
[打印本页]
作者:
fangyc
时间:
2013-11-5 09:58
标题:
关于Sprite描画的一个问题
本帖最后由 fangyc 于 2013-11-5 19:38 编辑
代码先不贴了,只是遇到一个奇怪的问题,想了解一下Sprite的描画原理
问题大概是这样的
我自己建了一个类,叫 Sprite_BattleActor,继承 Sprite_Base 类
作用是在战斗画面里显示我方角色的行走图
于是我在 Spriteset_Battle 中创建了 4 个 Sprite_BattleActor 的实例,并且把对应的 Game_Actor 的实例传入其中
Sprite_BattleActor 中从 Game_Actor 里取得角色的行走图名和编号,然后用 self.bitmap.blt() 方法进行描画
于是问题来了,Sprite_BattleActor 实际显示在画面上的,全都是同一个人物
但是我描画的时候明明用的都是不同的 Game_Actor ……
在 self.bitmap.blt() 之前我用p输出过行走图名和编号,确定都是不同的人物,但为何显示出来的时候都变成同一个人(队伍里最后一个角色)了?
然后我试了用 self.bitmap.draw_text() 把人物的名字打出来,结果4个名字最后显示的全是最后一个人的名字
于是想请教一下大家为什么会变成这样……
现在手头没有代码,如果需要的话我晚上可以把部分代码贴出来。
作者:
fangyc
时间:
2013-11-5 19:33
自己找到原因了!
原来 self.bitmap 是通过 Cache 读进来的,所以对 self.bitmap.blt 的时候其实就是对用了这个 Cache 所有bitmap进行描画了,所以所有的人物都变一样的了……
只要自己new一个Bitmap就可以解决问题了~~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1