设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1492|回复: 1
打印 上一主题 下一主题

[已经解决] 关于Sprite描画的一个问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
79 小时
注册时间
2007-6-23
帖子
154
跳转到指定楼层
1
发表于 2013-11-5 09:58:13 手机端发表。 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 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个名字最后显示的全是最后一个人的名字

于是想请教一下大家为什么会变成这样……

现在手头没有代码,如果需要的话我晚上可以把部分代码贴出来。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
79 小时
注册时间
2007-6-23
帖子
154
2
 楼主| 发表于 2013-11-5 19:33:21 | 只看该作者
自己找到原因了!

原来 self.bitmap 是通过 Cache 读进来的,所以对 self.bitmap.blt 的时候其实就是对用了这个 Cache 所有bitmap进行描画了,所以所有的人物都变一样的了……
只要自己new一个Bitmap就可以解决问题了~~
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 06:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表