Project1

标题: 求猫大做个\@[]系的“售后”扩展行吗? [打印本页]

作者: 89444640    时间: 2021-1-3 14:21
标题: 求猫大做个\@[]系的“售后”扩展行吗?
本帖最后由 89444640 于 2021-1-3 14:27 编辑

窗口增强-对话窗口\@[n] 系列,控制符
\@[n]   在位置n显示对话框,n的含义如下:
#             负数(战斗内外通用):
#               -10:系统默认位置和尺寸;-5:对话框居于屏幕或战斗区正中
#               -1~-9:对话框吸附到边角(方位如小键盘),其中-2和-8会拉长占满
#             正数(战斗中的情况):
#               0:跟随当前战斗者;1~4:跟随我方角色;101~108:跟随敌方角色
#             正数(战斗外的情况):
#               0:跟随主角;1~999:跟随对应事件;省略:跟随本事件
#             对话框跟随事件时,会依事件位置的改变,真时更新位置
#             若写成1000(战斗外)或省略n(战斗中),对话框会全屏无边显示
#             对话框的位置设置为-2、-8、-10以外的值时,会自动根据内容调整大小
#           \^[n]   对话框全部显示完毕后,等n帧自动关闭,有输入等待时会失效
#                   若设为0的话,不会自动关闭,但按B键快速跳过的功能失效

在使用的时候发现,空白事件只显示文字的话,会有这类尴尬情况

虽然说可以用\@[0]让对话气泡跑到主角头上,但是有的时候不合适,只适合显示到特定位置。
或者\@[n+1]在对应事件合适的位置建立空白事件并显示,但是非常不方便。

能不能增加一个\@位[+-X,+-Y]的控制符?可以更改\@[n]缩显示的小对话高度,达到这样的效果?加X是因为大行走图的话,角色一旦有动作,会有大幅度偏移,小箭头要指着NPC头所在位置才合适,所以X也有比较方便。


Scripts.rar (514.19 KB, 下载次数: 55)


作者: SailCat    时间: 2021-1-4 18:59
Line 390-408
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 跟随角色
  3.   #--------------------------------------------------------------------------
  4.   def follow(ensure_height)
  5.     x = @character.screen_x
  6.     y = @character.screen_y
  7.     if $game_temp.in_battle
  8.       height = RPG::Cache.battler(@character.battler_name, 0).height
  9.     else
  10.       height = RPG::Cache.character(@character.character_name, 0).height >> 2
  11.       height = 48 if height == 0
  12.     end
  13.     under = y - height - 12 < ensure_height
  14.     if @under != under
  15.       @under = under
  16.       load
  17.     end
  18.     self.x = x
  19.     self.y = @under ? y : y - height
  20.   end


如果\@指向的是一个空事件,会有48的默认高度




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1