查看: 1671|回复: 5

[已经解决] 怎样在菜单上显示战斗图

[复制链接]
梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-11-15
回帖
8
发表于 2016-2-18 09:33:52 | 显示全部楼层 |阅读模式

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

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

×
我记得在刚开始玩RM的时候,有这样的一个教程,就是物品什么的那栏变成最上面的那横,下面是战斗图,行走图不在菜单上显示。

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-2-18 11:00:24 | 显示全部楼层
在 Window_Base里面修改这个。
bitmap = RPG::Cache.picture("Head_#{actor.id}")
这个意思是说图片是在picture文件夹下的Head_加上角色ID。比如Head_1
#########################################
  def draw_actor_graphic(actor, x, y)
  bitmap = RPG::Cache.picture("Head_#{actor.id}")
  cw = bitmap.width
  ch = bitmap.height
  src_rect = Rect.new(0, 0, cw, ch)
  self.contents.blt(x - cw / 2+20, y - ch, bitmap, src_rect)
end
  ###########################################
回复

使用道具 举报

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-11-15
回帖
8
 楼主| 发表于 2016-2-18 11:19:13 | 显示全部楼层
yang1zhi 发表于 2016-2-18 11:00
在 Window_Base里面修改这个。
bitmap = RPG::Cache.picture("Head_#{actor.id}")
这个意思是说图片是在pic ...

能说详细点吗
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-2-18 12:51:50 | 显示全部楼层
1587715612 发表于 2016-2-18 11:19
能说详细点吗
  1. class Window_Base < Window
  2. def draw_actor_graphic(actor, x, y)
  3.   bitmap = RPG::Cache.picture("Head_#{actor.id}")
  4.   cw = bitmap.width
  5.   ch = bitmap.height
  6.   src_rect = Rect.new(0, 0, cw, ch)
  7.   self.contents.blt(x - cw / 2+20, y - ch, bitmap, src_rect)
  8. end
  9. end
复制代码
这个直接插入到脚本编辑器下数上第二个位置。
坐标自己改,图片名字自己改
回复

使用道具 举报

梦石
0
星屑
606
在线时间
797 小时
注册时间
2014-7-1
回帖
501

开拓者

发表于 2016-2-19 16:48:10 | 显示全部楼层
写的应该比较详细了
[pre lang="ruby"]
class Window_MenuStatus < Window_Selectable  
def initialize  
  #这里是界面状态窗口的大小
   super(0, 0, 380, 422)  
   self.contents = Bitmap.new(width - 32, height - 32)  
   self.contents.font.name = "黑体"  #字体
   self.contents.font.size = 16  #文字大小
   #self.x =
   #self.y= 这两个可以根据你的需求来调整窗口的X Y值
   refresh  
   self.active = false  
   self.index = -1  
end  
#--------------------------------------------------------------------------   
#--------------------------------------------------------------------------  
def refresh  
   self.contents.clear  
   @item_max = $game_party.actors.size  
   for i in 0...$game_party.actors.size  
     x = 94  
     y =i * 96  
     actor = $game_party.actors  
     #建立以各bitmap 然后指定素材的位置
     #这里我弄的是一个新文件下Fas
     #然后在这个文件夹下面设定素材的名称对应角色的ID
     #比如阿尔西斯在数据库中的角色ID是1
     #那么图片素材就写1 这样游戏中就对应上了
     #有多少就写多少 没有的话就会提示去缺少素材
     #这样游戏就回报错找不到文件
     #可以试着用容错脚本来防止这一点 脚本来源就搜索
     bitmap=Bitmap.new("Graphics/Fas/#{actor.id}")
     cw = bitmap.width
     ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x -100, y - 4, bitmap, src_rect)#脸谱的坐标
    draw_actor_hp(actor, 80, y + 26) #篮和血框间隔的坐标
    draw_actor_sp(actor, 80, y + 53)#篮和血框间隔的坐标
    draw_actor_level(actor, 84,y - 4)#等级的坐标
    draw_actor_state(actor, 100, y + 70)#状态坐标
    draw_actor_name(actor, 80, y+10) #角色名字的坐标
  end  
end  
#--------------------------------------------------------------------------  
#  #光标调整
#--------------------------------------------------------------------------  
def update_cursor_rect  
  #这里是光标的位置调整 这个就不多说了
  #自己试一下就知道了
   if @index < 0  
     self.cursor_rect.empty  
   else  
      self.cursor_rect.set(0, @index * 96 - 4, self.width - 70, 100)
   end  
end  
end
[/pre]

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复

使用道具 举报

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-11-15
回帖
8
 楼主| 发表于 2016-2-20 09:01:52 | 显示全部楼层
yang1zhi 发表于 2016-2-18 12:51
这个直接插入到脚本编辑器下数上第二个位置。
坐标自己改,图片名字自己改 ...

谢了
(为什么要十个字)
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部