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

Project1

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

[有事请教] 如何让角色在菜单界面 改为显示战斗图

[复制链接]

Lv2.观梦者

梦石
0
星屑
529
在线时间
61 小时
注册时间
2021-11-17
帖子
36
跳转到指定楼层
1
发表于 2023-7-30 14:35:19 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
如何让角色在菜单界面 不显示行走图 而是显示战斗图?
自己按下图这样改了一下 现在已经变成战斗图了
但是因为战斗图过大所以显示不全 有没有办法缩小一点比例?
javascript:;

无标题.png (46.14 KB, 下载次数: 30)

无标题.png

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
6
发表于 2023-8-25 02:20:51 | 只看该作者
直接插入,自己改坐标即可。

  1. class Window_Base
  2.   def draw_battler_graphic(actor, x, y)
  3.     battler=RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  4.     w = battler.width
  5.     h = battler.height
  6.     self.contents.blt(x-w/2, y-h, battler, Rect.new(0, 0, w,h),255)
  7.   end
  8. end
  9. class Window_MenuStatus < Window_Selectable
  10.   def refresh
  11.     self.contents.clear
  12.     @item_max = $game_party.actors.size
  13.     for i in 0...$game_party.actors.size
  14.       x = 64
  15.       y = i * 116
  16.       actor = $game_party.actors[i]
  17.       if (i % 2) == 0
  18.         draw_battler_graphic(actor, x - 5, y + 95 - i * 0)
  19.         draw_actor_name(actor, x+50, y)
  20.         draw_actor_class(actor, x + 144+50, y)
  21.         draw_actor_level(actor, x+50, y + 32)
  22.         draw_actor_state(actor, x + 90+40, y + 32)
  23.         draw_actor_exp(actor, x+50, y + 64)
  24.         draw_actor_hp(actor, x + 236, y + 32)
  25.         draw_actor_sp(actor, x + 236, y + 64)
  26.       else
  27.         draw_battler_graphic(actor, x - 5, y + 95 - i * 0)
  28.         draw_actor_name(actor, x+50, y)
  29.         draw_actor_class(actor, x +144+50, y)
  30.         draw_actor_level(actor, x+50, y + 32)
  31.         draw_actor_state(actor, x + 90+40, y + 32)
  32.         draw_actor_exp(actor, x+50, y + 64)
  33.         draw_actor_hp(actor, x + 236, y + 32)
  34.         draw_actor_sp(actor, x + 236, y + 64)
  35.       end
  36.     end
  37.   end
  38. end
复制代码

博客:我的博客
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
193 小时
注册时间
2019-10-4
帖子
286
5
发表于 2023-8-8 20:12:44 | 只看该作者
定义新的战斗图,def draw_actor_graphicNew(actor, x, y)然后在菜单显示就行了,这样的话,战斗和菜单两个互不相干
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

4
发表于 2023-7-30 18:34:45 | 只看该作者
本帖最后由 忧雪の伤 于 2023-7-30 18:36 编辑
c21c21 发表于 2023-7-30 18:32
感谢大佬 成功了
这次主要是因为战斗图在战斗界面也要用到
直接把图调小 战斗界面就会很奇怪了 ...


UI> 对于这个问题,你应该划分开2个不同的资源组,然后战斗图缩小的那个用在这,原来的用在战斗里,不要共用就行

补充:我刚考虑到还有一种情况就是可能想要极致压缩包体,那用代码缩在这种情况下不失为选择
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
529
在线时间
61 小时
注册时间
2021-11-17
帖子
36
3
 楼主| 发表于 2023-7-30 18:32:01 | 只看该作者
忧雪の伤 发表于 2023-7-30 18:21
UI> 我仍然更加推荐使用外部工具如Photoshop对资源进行处理并直接表现在游戏里,而不使用代码进行缩放

感谢大佬 成功了
这次主要是因为战斗图在战斗界面也要用到
直接把图调小 战斗界面就会很奇怪了
回复 支持 反对

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

2
发表于 2023-7-30 18:21:16 | 只看该作者
本帖最后由 忧雪の伤 于 2023-7-30 18:24 编辑

UI> 我仍然更加推荐使用外部工具如Photoshop对资源进行处理并直接表现在游戏里,而不使用代码进行缩放

  1. class Window_Base
  2.   def draw_actor_graphic(actor, x, y)
  3.     bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  4.     cw = bitmap.width
  5.     ch = bitmap.height
  6.     # dw, dh 后面的数字即是缩小的倍数
  7.     dw = bitmap.width / 3
  8.     dh = bitmap.height / 3
  9.     dest_rect = Rect.new(x - dw / 2, y - dh, dw, dh)
  10.     src_rect = Rect.new(0, 0, cw, ch)
  11.     self.contents.stretch_blt(dest_rect, bitmap, src_rect)
  12.   end
  13. end
复制代码


回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 05:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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