Project1
标题: 【纵版文字调整】请帮忙调一个字符串的Y坐标,多谢了,急 [打印本页]
作者: slient叶枫 时间: 2013-1-31 18:11
标题: 【纵版文字调整】请帮忙调一个字符串的Y坐标,多谢了,急
本帖最后由 slient叶枫 于 2013-1-31 20:20 编辑
RT,我用了纵版文字系统,代码如下class Bitmap
def draw_text2(x, y, width, height, text, align = 0)
case align
when 0 then y = 0
when 1 then y = (self.height - height) / 2
when 2 then y = self.height - height - 10
end
y = 0 if align > 2
if text.nil? then return end
for i in 0..text.length / 3
self.draw_text(x, i * self.font.size + y, 32, 32, text[i * 3, 3])
end
end
end
class Bitmap
def draw_text2(x, y, width, height, text, align = 0)
case align
when 0 then y = 0
when 1 then y = (self.height - height) / 2
when 2 then y = self.height - height - 10
end
y = 0 if align > 2
if text.nil? then return end
for i in 0..text.length / 3
self.draw_text(x, i * self.font.size + y, 32, 32, text[i * 3, 3])
end
end
end
然后自行修改时间系统如下:class Scene_Map
def main
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
@time_date_window = Window_Time_Date.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end # end if $scene != self
end # end loop do
Graphics.freeze
@spriteset.dispose
@message_window.dispose
@time_date_window.dispose
if $scene.is_a?(Scene_Title)
Graphics.transition
Graphics.freeze
end # end if $scene.is_a?(Scene_Title)
end # end def main
end # end class Scene_Map
class Window_Time_Date < Window_Base
def initialize
super(0, 0, 100, 250)
self.contents = Bitmap.new(width - 33, height - 33)
if $scene.is_a?(Scene_Map)
self.opacity = 0
self.back_opacity = 0
end
refresh
end # end def initialize
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.font.size = 19
@total_sec = Graphics.frame_count
if $game_variables[2] >= 3 + 0
$game_variables[2] = 0
$game_variables[3] += 1
end # end if $game_variables[2] >= 23 + 1
if $game_variables[3] >= 2 + 1
$game_variables[3] = 0
$game_variables[4] += 1
end # end if $game_variables[3] >= 30 + 1
if $game_variables[4] >= 11 + 1
$game_variables[4] = 0
$game_variables[5] += 1
end # end if $game_variables[4] >= 12 + 1
text_day = ["上旬", "中旬",
"下旬"][$game_variables[3]]
text_month = ["正月", "二月", "三月", "四月", "五月", "六月",
"七月", "八月", "九月", "十月", "十一月", "十二月"][$game_variables[4]]
text_year = ["第一年", "第二年", "第三年","第四年","第五年","2013年","2014年",
"2015年","2016年","2017年","2018年","2019年","2020年"][$game_variables[5]]
self.contents.clear
self.contents.draw_text2(20, 0, 32, 128,text_year)
self.contents.draw_text2(5, 0, 32, 128, text_month)
self.contents.draw_text2(5, 0, 32, 128, text_day)
def update
super
refresh
end
end
end
class Scene_Map
def main
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
@time_date_window = Window_Time_Date.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end # end if $scene != self
end # end loop do
Graphics.freeze
@spriteset.dispose
@message_window.dispose
@time_date_window.dispose
if $scene.is_a?(Scene_Title)
Graphics.transition
Graphics.freeze
end # end if $scene.is_a?(Scene_Title)
end # end def main
end # end class Scene_Map
class Window_Time_Date < Window_Base
def initialize
super(0, 0, 100, 250)
self.contents = Bitmap.new(width - 33, height - 33)
if $scene.is_a?(Scene_Map)
self.opacity = 0
self.back_opacity = 0
end
refresh
end # end def initialize
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.font.size = 19
@total_sec = Graphics.frame_count
if $game_variables[2] >= 3 + 0
$game_variables[2] = 0
$game_variables[3] += 1
end # end if $game_variables[2] >= 23 + 1
if $game_variables[3] >= 2 + 1
$game_variables[3] = 0
$game_variables[4] += 1
end # end if $game_variables[3] >= 30 + 1
if $game_variables[4] >= 11 + 1
$game_variables[4] = 0
$game_variables[5] += 1
end # end if $game_variables[4] >= 12 + 1
text_day = ["上旬", "中旬",
"下旬"][$game_variables[3]]
text_month = ["正月", "二月", "三月", "四月", "五月", "六月",
"七月", "八月", "九月", "十月", "十一月", "十二月"][$game_variables[4]]
text_year = ["第一年", "第二年", "第三年","第四年","第五年","2013年","2014年",
"2015年","2016年","2017年","2018年","2019年","2020年"][$game_variables[5]]
self.contents.clear
self.contents.draw_text2(20, 0, 32, 128,text_year)
self.contents.draw_text2(5, 0, 32, 128, text_month)
self.contents.draw_text2(5, 0, 32, 128, text_day)
def update
super
refresh
end
end
end
于是问题出现了,draw_text2的X坐标可以任意调整,而y坐标不论怎样调都没有用,能否在保证可使用纵版文字的前提下,能够有效调整字符串的Y坐标。顺便加上一个变量开关作为条件,多谢各位大。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |