Project1
标题:
如何将存/读档界面的人物行走图改为自己的图片?
[打印本页]
作者:
仙`飛狐
时间:
2008-4-27 20:50
标题:
如何将存/读档界面的人物行走图改为自己的图片?
如题咯,MS在这个论坛的达人眼里很简单,可是我弄不起来。
为此还特意去把66大的教学游戏《大富翁·勇者斗恶龙》的脚本弄到自己的游戏里,差点让自己的游戏报废……脚本盲就是不好啊……
再加个问题,为什么有张地图的BGM播放起来会特别卡?MS是BGM的问题……不知道是不是……? [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
bububinghe
时间:
2008-4-27 21:31
你换个BGM试下不就明白了,有时候卡是因为并行事件处理的问题.
注意写事件时的结构.让机器舒服的调用它们这样不容易卡.
作者:
八云紫
时间:
2008-4-27 21:37
LZ可以看看这里:
http://rpg.blue/web/htm/news658.htm [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
仙`飛狐
时间:
2008-4-28 04:50
哦,谢过先……{/se}
作者:
仙`飛狐
时间:
2008-4-28 05:10
范例下过来了,弄不懂,请达人写清楚,谢谢!
作者:
八云紫
时间:
2008-4-28 05:32
算了,其实那个范例我也看不懂,就自己写了一个脚本:
#==============================================================================
# ■ Window_SaveFile
#------------------------------------------------------------------------------
# 显示存档以及读档画面、保存文件的窗口。(八云紫 )
#==============================================================================
class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_reader :filename # 文件名
attr_reader :selected # 选择状态
attr_accessor :id
#--------------------------------------------------------------------------
# ● 初始化对像
# file_index : 存档文件的索引 (0~3)
# filename : 文件名
#--------------------------------------------------------------------------
def initialize(file_index, filename)
super(0, 64 + file_index % 4 * 104, 640, 104)
self.contents = Bitmap.new(width - 32, height - 32)
@file_index = file_index
@id = 0
@filename = "Save#{@file_index + 1}.rxdata"
@time_stamp = Time.at(0)
@file_exist = FileTest.exist?(@filename)
if @file_exist
file = File.open(@filename, "r")
@time_stamp = file.mtime
@characters = Marshal.load(file)
@frame_count = Marshal.load(file)
@game_system = Marshal.load(file)
@game_switches = Marshal.load(file)
@game_variables = Marshal.load(file)
@total_sec = @frame_count / Graphics.frame_rate
file.close
end
refresh
@selected = false
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# 描绘文件编号
self.contents.font.color = normal_color
name = "文件 #{@file_index + 1}"
self.contents.draw_text(4, 0, 600, 32, name)
@name_width = contents.text_size(name).width
# 存档文件存在的情况下
if @file_exist
# 描绘角色
for i in
[email protected]
bitmap = RPG::Cache.picture("#{@characters[i][0]}")
cw = bitmap.rect.width
ch = bitmap.rect.height
src_rect = Rect.new(0, 0, cw, ch)
x =100 + i * 50
self.contents.blt(x, 68 - ch, bitmap, src_rect)
end
# 描绘游戏时间
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 8, 600, 32, time_string, 2)
# 描绘时间标记
self.contents.font.color = normal_color
time_string = @time_stamp.strftime("%Y/%m/%d %H:%M")
self.contents.draw_text(4, 40, 600, 32, time_string, 2)
end
end
#--------------------------------------------------------------------------
# ● 设置选择状态
# selected : 新的选择状态 (true=选择 false=不选择)
#--------------------------------------------------------------------------
def selected=(selected)
@selected = selected
update_cursor_rect
end
#--------------------------------------------------------------------------
# ● 刷新光标矩形
#--------------------------------------------------------------------------
def update_cursor_rect
if @selected
self.cursor_rect.set(0, 0, @name_width + 8, 32)
else
self.cursor_rect.empty
end
end
end
复制代码
没测试,不知道可以不可。
用法是,把人物头像文件按角色行走图的名字命名(即 两者同名),放到 picture 文件夹里就OK了。
不能用的话,提醒我。
作者:
仙`飛狐
时间:
2009-6-12 08:00
还没用,先谢过……
能用的,就是图太大了点……没关系,我自己摸索下先八
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1