首先,您没有仔细分析原先的draw_actor_graphic(actor, x - 40, y + 80)
这里头我把原有的东西给您分析一下注意我用绿字特别标注了一下::def draw_actor_graphic(actor, x, y) bitmap = RPG::Cache.character(actor.character_name, actor.character_hue) cw = bitmap.width / 4 ch = bitmap.height / 4 #↑cw和ch,分别代表了图片的宽度和高度 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) #↑注意定义方法里面,括号里面可是x和y,在这里变成了x - cw / 2和y - ch end
def draw_actor_graphic(actor, x, y)
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
cw = bitmap.width / 4
ch = bitmap.height / 4
#↑cw和ch,分别代表了图片的宽度和高度
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
#↑注意定义方法里面,括号里面可是x和y,在这里变成了x - cw / 2和y - ch
end
这回看看您的代码
- bitmap = Bitmap.new("Graphics/1.png")
- src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
- self.contents.blt(x, y, bitmap, src_rect)
复制代码 很显然,您虽然插入了图片,但是您既没有获取图片的宽度,又没有对后面显示文字的坐标进行修正。首先您得在这个类或者它的父类定义一个方法:def 显示自定义角色图片一(图片, x, y) bitmap = Bitmap.new(图片) cw = bitmap.width / 4 ch = bitmap.height / 4 #↑cw和ch,分别代表了图片的宽度和高度 src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) #↑注意定义方法里面,括号里面可是x和y,在这里变成了x - cw / 2和y - ch end
def 显示自定义角色图片一(图片, x, y)
bitmap = Bitmap.new(图片)
cw = bitmap.width / 4
ch = bitmap.height / 4
#↑cw和ch,分别代表了图片的宽度和高度
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
#↑注意定义方法里面,括号里面可是x和y,在这里变成了x - cw / 2和y - ch
end
然后把您原来要替换的draw_actor_graphic(actor, x - 40, y + 80) 替换成显示自定义角色图片一(Graphics/1.png, x-40, y+80) |