以下引用越前リョーマ于2008-9-27 20:59:41的发言:
这个显示是不是从一开始的基础上,
然后在一格一格移动过去的?
以下引用灯笼菜刀王于2008-9-27 21:01:29的发言:
以下引用越前リョーマ于2008-9-27 20:59:41的发言:
这个显示是不是从一开始的基础上,
然后在一格一格移动过去的?
是,不过不是一格一格~~而是一象素一象素,因为FPS只有个位= =,所以才觉得像在移动块...
class ExpBar < Sprite
BarWidth = xxx
BarHeight = xxx
@v = xxxxx
def initialize(nowExp,levelupExp)
super(@v)
........
.......
.....
end
def update
super
self.bitmap.clear
# 只要更新下面这个就可以了
self.bitmap.fill_rect()
end
end
以下引用hide秀于2008-9-28 12:45:43的发言:
refresh 写在update里面当然慢了........
一般来说 只有需要refresh的时候refresh一下而已(need_refresh)
战斗结果窗口里面 只需要经验槽update
有2种方法
1:写一个update_exp_bar 用来更新经验槽
2:写一个update方法 super后 在把经验槽的update加入进去
LZ的方法不是很推荐。。。因为把更新的东西全部写在同一个Bitmap(self.contents)上面
导致要更新一起更新 每桢都需要重写那么多东西
提供给你一个面向对象的思路
class ExpBar < Sprite
BarWidth = xxx
BarHeight = xxx
@v = xxxxx
def initialize(nowExp,levelupExp)
super(@v)
........
.......
.....
end
def update
super
self.bitmap.clear
# 只要更新下面这个就可以了
self.bitmap.fill_rect()
end
end
窗口的initialize的时候 如果4人制 就建立4个HP对象
窗口的update里面写上 这些对象的update方法
当然 最后窗口的还要写一个dispose方法
def dispose
super
把hp对象dispose掉
end
关于IHBADSL君的建议,数字升的原理和这个一样嘛~,每桢重新描绘就可以了(虽然我用在槽值上是个蠢方法= =...)还有战利品重新开窗口也不是什么难点~ 这些细节美化等该让使用者自己改,耶\(-v-\)
以下引用ONEWateR于2008-12-7 1:48:54的发言:
发布完毕
http://rpg.blue/web/htm/news1205.htm
vip += 2
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |