赞 | 167 |
VIP | 31 |
好人卡 | 10 |
积分 | 191 |
经验 | 158321 |
最后登录 | 2024-10-27 |
在线时间 | 5075 小时 |
Lv4.逐梦者 (管理员) 砂上描绘的愿想
- 梦石
- 15
- 星屑
- 4120
- 在线时间
- 5075 小时
- 注册时间
- 2012-1-15
- 帖子
- 4618
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 Sion 于 2013-12-17 15:59 编辑
嘛~ 作为刚接触VA三个月的新手…… 目前算是有了一点简单的心得……于是拿出来和大家共同学习下呗……这里不说繁杂的基础知识,一切以实用为诉求。
嗯嗯……正体开始
【No. 0】
呼出脚本编辑器:F11
在指定脚本里查找:Ctrl+F
在所有脚本里查找:Ctrl+Shift+F
【No.1】在菜单界面显示人物行走图
在【Window_MenuStatus】中,找到如下地方添加语句。
- #--------------------------------------------------------------------------
- # ● 绘制项目
- #--------------------------------------------------------------------------
- def draw_item(index)
- actor = $game_party.members[index]
- enabled = $game_party.battle_members.include?(actor)
- rect = item_rect(index)
- draw_item_background(index)
- draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
- draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
- draw_actor_graphic(actor, rect.x + 190, rect.y + 90) #本句为绘制人物行走图
- end
复制代码 效果如图:
【No.2】在菜单人物状态中显示TP
在【Window_Base】中,找到这里。
- #--------------------------------------------------------------------------
- # ● 绘制简单的状态
- #--------------------------------------------------------------------------
- def draw_actor_simple_status(actor, x, y)
- draw_actor_name(actor, x, y)
- draw_actor_level(actor, x, y + line_height * 1)
- draw_actor_icons(actor, x, y + line_height * 2)
- draw_actor_class(actor, x + 120, y)
- draw_actor_hp(actor, x + 120, y + line_height * 1)
- draw_actor_mp(actor, x + 120, y + line_height * 2)
- end
复制代码 改为
- #--------------------------------------------------------------------------
- # ● 绘制简单的状态
- #--------------------------------------------------------------------------
- def draw_actor_simple_status(actor, x, y)
- draw_actor_name(actor, x, y)
- draw_actor_level(actor, x, y + line_height * 1)
- draw_actor_icons(actor, x, y + line_height * 2)
- draw_actor_class(actor, x + 120, y - line_height * 0.5)
- draw_actor_hp(actor, x + 120, y + line_height * 0.5) #绘制HP,在原有位置上略调整
- draw_actor_mp(actor, x + 120, y + line_height * 1.5) #绘制MP,在原有位置上略调整
- draw_actor_tp(actor, x + 120, y + line_height * 2.5) #绘制TP
- end
复制代码 效果如图:
【No.3】用开关控制切换地图场景时是否自动切换BGM
在【Game_Map】中,找到这里。
- #--------------------------------------------------------------------------
- # ● 自动切换 BGM / BGS
- #--------------------------------------------------------------------------
- def autoplay
- @map.bgm.play if @map.autoplay_bgm
- @map.bgs.play if @map.autoplay_bgs
- end
- [code]
- 改为
- [code]
- #--------------------------------------------------------------------------
- # ● 自动切换 BGM / BGS
- #--------------------------------------------------------------------------
- def autoplay
- if $game_switches[80]==false #只有当80号开关关闭的时候才切换BGM(就是80号开关打开就不切换BGM了)
- @map.bgm.play if @map.autoplay_bgm
- end
- @map.bgs.play if @map.autoplay_bgs
- end
复制代码
效果就是:当80号开关打开时,过地图BGM不会自动切换。
【No.4】利用备注,双行显示地图名
还是【Game_Map】里,在最后加入
- #--------------------------------------------------------------------------
- # ● 定义备注使用(于是这样就可以在其他地方使用$game_map.note)来调用了
- #--------------------------------------------------------------------------
- def note
- @map.note
- end
复制代码 然后在【Window_Mapname】里,找到这里修改
- #--------------------------------------------------------------------------
- # ● 初始化对象
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, window_width, fitting_height(2)) #原来的1表示这里高度是1行,咱们改成2行高度
- self.opacity = 0
- self.contents_opacity = 0
- @show_count = 0
- refresh
- end
复制代码 再在下面找到这里
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- contents.clear
- unless $game_map.display_name.empty?
- draw_background(contents.rect)
- draw_text(contents.rect, $game_map.display_name, 1)
- end
- end
复制代码 修改为
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- contents.clear
- unless $game_map.display_name.empty?
- draw_background(contents.rect)
- rect = Rect.new(0,0,contents.width,line_height) #定义第一行的位置
- draw_text(rect, $game_map.display_name, 1) #在第一行画出地图的显示名称
- rect = Rect.new(0,line_height,contents.width,line_height) #定义第二行的位置,为第一行往下一行
- draw_text(rect, $game_map.note, 1) #在第二行画出地图的备注名称
- end
- end
复制代码 效果如图
【No.5】在显示金钱的位置显示图标?
在【Window_Base】里找到这里并修改
- #--------------------------------------------------------------------------
- # ● 绘制货币数值(持有金钱之类的)
- #--------------------------------------------------------------------------
- def draw_currency_value(value, unit, x, y, width)
- cx = text_size(unit).width
- change_color(normal_color)
- draw_text(x, y, width - cx - 2, line_height, value, 2)
- change_color(system_color)
- draw_text(x, y, width, line_height, unit, 2)
- draw_icon(360, x, y, true) #本句为绘制图标,默认图标里的360号是三块金砖
- end
复制代码 效果如图,在菜单和商店等多处地方都有效哟~
【No.6】整体加快/减慢游戏速度
【No.7】调节游戏的窗口分辨率
找到脚本最下面的Main
- #encoding:utf-8
- #==============================================================================
- # ■ Main
- #------------------------------------------------------------------------------
- # 各种定义结束后,从这里开始实际运行。
- #==============================================================================
- rgss_main { Graphics.frame_rate *= 1.2 #加上这句以后,就能定义游戏的整体速度了,比如这里把游戏整体速度加快到原来的1.2倍……
- Graphics.resize_screen(640,480) #加上这句以后,就能定义游戏的窗口分辨率了,最大是640×480
- SceneManager.run }
复制代码 定义窗口分辨率的时候请注意……长宽都要是32的倍数,因为地图图块是32×32的。
0 0 第一锅暂时就提供这七个修改吧…… 对糕手来说是简单得不能再简单,但是对新手来说,应该是足够实用的最简单的修改了吧? 嗯?
(举好锅盖等砖) |
评分
-
查看全部评分
|