Project1
标题:
显示文章的智能分次能否手动更换行数?
[打印本页]
作者:
eve592370698
时间:
2012-2-11 21:53
标题:
显示文章的智能分次能否手动更换行数?
VX ACE默认的Window_Message类有这么3个定义方法:
# ● 初始化
#--------------------------------------------------------------------------
def initialize
super(0, 0, window_width, window_height)
self.z = 200
self.openness = 0
create_all_windows
create_back_bitmap
create_back_sprite
clear_instance_variables
end
# ● 取得窗口的高度
#--------------------------------------------------------------------------
def window_height
fitting_height(visible_line_number)
end
# ● 取得显示行数
#--------------------------------------------------------------------------
def visible_line_number
return 4
end
复制代码
我把后两个方法简化成
def window_height
fitting_height(4)
end
复制代码
以前用脚本输入超过4行的文章结果被分割成多次显示,
如果把这个数值设定成2的话,事件中输入4行文章就分2次显示了。
我尝试着加入条件分歧和变量来改变这个文章输入行数的限制,似乎不好使,也就像常量一样只要赋值了再继续更改就没有效果了,请问有什么方法能让它可以自己来在
再次
更改吗?
也就是我弄一个变量,当它为4的时候,输入4行文章一次显示,当我把决定变量变成1的时候,输入文章也就变成分4次显示。 dsu_plus_rewardpost_czw
作者:
仲秋启明
时间:
2012-2-11 22:31
def window_height
fitting_height($game_variables[2])
end
复制代码
利用变量试试
作者:
feizhaodan
时间:
2012-2-11 23:06
水区圣诞节的我做的那个,用了这个方法。你可以自己下看看吧,没加密。
作者:
eve592370698
时间:
2012-2-12 00:07
仲秋启明 发表于 2012-2-11 22:31
利用变量试试
我就是对话之前改变了变量。
您可能还不知道我正在移植XP的FUKI对话框吧?因为VX ACE的这个智能分次显示功能挺让我头疼,按照默认只能显示4行文章,而且超过96像素的半身像也不能显示。而且我发现
super(0, 0, window_width, window_height)
中的window_height对文章内容(行数)和头像的高度有限制作用,
即使对self.height重新赋值也不行。
,所以在研究呢。
作者:
怕鼠的猫
时间:
2012-2-12 21:27
本帖最后由 怕鼠的猫 于 2012-2-12 21:32 编辑
#怕鼠的猫
#ACE代码
# 修改消息窗口的显示行数
# 2012.2.12
class Window_Message
def initialize(linenumber=4)
@linenumber=linenumber
super(0, 0, window_width, window_height)
self.z = 200
self.openness = 0
create_all_windows
create_back_bitmap
create_back_sprite
clear_instance_variables
end
def need_new_page?(text, pos)
a=visible_line_number*line_height
pos[:y] + pos[:height] > a && !text.empty?
end
#---------------------------
def visible_line_number
@linenumber||4
end
end
################################
class Scene_Map
def changelines(n)
@message_window.dispose
@message_window = Window_Message.new(n)
end
end
###################################
# 调用方法: SceneManager::scene.changelines(2) 就变成两行对话框了。以后持续有效。
复制代码
知道你很大方,也不用给太多分,随便给我万八千的VIP,意思意思算了。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1