Project1

标题: 選項光標太長。。-V- [打印本页]

作者: 忻緣    时间: 2008-8-26 18:55
标题: 選項光標太長。。-V-
為什麽那么長。。-V-。。才一個字而已。。-V-怎么變短。。-V-或者是按字的長短變化來判斷長度。。-V-


還有戰鬥選項裡面的。。-V-。。才2個字的選項。。還是覺得很長。。-V-。。是窗口的原因麼。。-V-。。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 劍之飛龍☆    时间: 2008-8-26 19:02
http://rpg.blue/web/htm/news425.htm
作者: IamI    时间: 2008-8-26 19:02
LS……那个……Window_Message的父类是Window_Selectable,文字取得不能
没有Window_Message,不敢乱动~所以纠结的设成定值。如果是默认Window_Message的话,再改一下。
    #############################################
    if self.is_a?(Window_Message)
      cursor_width = 40
    end
    #############################################
作者: 忻緣    时间: 2008-8-26 19:10
以下引用劍之飛龍☆于2008-8-26 11:02:45的发言:

http://rpg.blue/web/htm/news425.htm

我用了沒反應。。-V-
以下引用IamI于2008-8-26 11:02:50的发言:

LS……那个……Window_Message的父类是Window_Selectable,文字取得不能
没有Window_Message,不敢乱动~所以纠结的设成定值。如果是默认Window_Message的话,再改一下。
   #############################################
   if self.is_a?(Window_Message)
     cursor_width = 40
   end
   #############################################


[本贴由作者于 2008-8-26 11:04:29 最后编辑]

默認的吧。。-V-。。只是改了一下窗口大小。。-V-   
super(0, 304, 640, 180)
   #############################################
   if self.is_a?(Window_Message)
     cursor_width = 40
   end
   #############################################

這個應該放在哪裡。。-V-
作者: IamI    时间: 2008-8-26 19:33
我突然发现我改了狂多脚本……
狂多……
修改过了一次
class Interpreter
#--------------------------------------------------------------------------
# ● 设置选择项
#--------------------------------------------------------------------------
def setup_choices(parameters)
   # choice_max 为设置选择项的项目数
   $game_temp.choice_max = parameters[0].size
   # message_text 为设置选择项
   for text in parameters[0]
     $game_temp.message_text += text + "\n"
     if $scene.is_a?(Scene_Map)
     end
   end
   ##############################
   $scene.message_window.choices = parameters[0]
   ##############################
   # 设置取消的情况的处理
   $game_temp.choice_cancel_type = parameters[1]
   # 返回调用设置
   current_indent = @list[@index].indent
   $game_temp.choice_proc = Proc.new { |n| @branch[current_indent] = n }
end
end
class Scene_Map
attr_accessor :message_window
end
class Window_Message
  attr_accessor :choices
  alias o_i initialize
  def initialize
    @choices = []
    o_i
  end
def update_cursor_rect(text = nil)
   if @index >= 0
     n = $game_temp.choice_start + @index
     #######################################################
     if text != nil and text != ""
       @cursor_width = self.contents.text_size(@choices[@index]).width + 8
     end
     ########################################################
     self.cursor_rect.set(8, n * 32, @cursor_width, 32)
   else
     self.cursor_rect.empty
   end
end
end

是一下能不能行……这是缩减版本
作者: 忻緣    时间: 2008-8-26 19:36
依然那么長。。-V-
作者: IamI    时间: 2008-8-26 19:37
刚刚发现错了所以改了一下
问题还是有的……如果一个N长一个N短也会有问题 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 忻緣    时间: 2008-8-26 19:42
-V-。。總感覺沒反應。。-V-
作者: IamI    时间: 2008-8-26 19:55
我在自己这里测试没有问题{/fd}
伸手{/hx}要范例—__—
作者: 灯笼菜刀王    时间: 2008-8-27 00:04
-.-,用我的笨方法吧,在Window_Message光标刷新那里加上个全局变量判断。

当变量为1的时候光标的WIDTH等于多少,变量为2的时候光标WIDTH等于多少....

然后在显示选择项的时候前面加上个脚本给变量赋值,手动控制就行了-。-...保证绿色无副作用~~~只要你记得显示完了后让它归0....




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