查看: 1928|回复: 5

[已经解决] RMVA屏幕无法实时刷新问题

[复制链接]
梦石
0
星屑
50
在线时间
3 小时
注册时间
2012-7-27
回帖
3
发表于 2015-1-3 12:19:03 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 VIPArcher 于 2015-1-3 16:25 编辑

[pre lang="ruby" line="1"]$LBA = 5
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# 处理地图画面的类。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 开始処理
#--------------------------------------------------------------------------
alias map_windpwz_start start
def start
map_windpwz_start
@mapz_window = Window_MapZ.new(0, 0)
@mapz_window.refresh
@mapz_window.hide
end
alias map_windpwz_update update
def update
map_windpwz_update
@mapz_window.visible = $game_switches[$LBA]
end
end
class Window_MapZ < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize(x,y)
super(-12, -12, 544+16,416+16)
self.opacity = 0
update
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_face($game_actors[1],0 ,0 )
#$game_map.screen.pictures[1].show("你要显示的图片名", 0, 0, 0, 100, 100, 255, 0) #若要使用请取消注释
draw_actor_hp($game_actors[1], 80+12, 0, 160)
draw_actor_mp($game_actors[1], 80+12, 32, 160)
self.contents.font.color = normal_color
self.contents.draw_text(84+12, 52+8, 544, 24, "#{$game_actors[1].name} Lv.#{$game_actors[1].level}")
self.contents.font.color = system_color
#self.contents.draw_text(0+96+120+40, 0-4, 544, 24, "攻:")
#self.contents.draw_text(0+96+120+40, 22-4, 544, 24, "防:")
#self.contents.draw_text(0+96+120+96+40, 0-4, 544, 24, "异化液")
#self.contents.draw_text(-18, 22-4, 544, 24, "G", 2)
#self.contents.font.color = normal_color
#self.contents.draw_text(-456+96+120+40, 0-4, 544, 24, $game_actors[1].atk, 2)
#self.contents.draw_text(-456+96+120+40, 22-4, 544, 24, $game_actors[1].def, 2)
#self.contents.draw_text(-36, 22-4, 544, 24, $game_party.gold, 2)
self.contents.font.color = text_color(5)#改颜色什么的~
#self.contents.draw_text(0,380 , 534, 24, "异化液:#{ $game_party.gold}")
end
end

#本脚本关联
class Game_CharacterBase

def real_move_speed
    if $game_actors[1].mp>=1
    @move_speed + (dash? ? 2 : 0)#前面一个数字是跑步的速度,本来是1。   
  else
     @move_speed + (dash? ? 0 : 0)
   end
  

  end
   end
[/pre]
以后,原本跑步的时候会损耗魔法,但是屏幕不实时跟新,下面的变量显示也一样,比如我的HP-10,但屏幕上的血条任然不变,无法刷新
求屏幕刷新脚本
QQ截图20150103121641.png

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-3 12:28:50 | 显示全部楼层
refresh 定义出来是要调用的……
回复

使用道具 举报

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2015-1-4 22:37:24 | 显示全部楼层
写脚本能稍微注意一下缩进么?画面简直太美,不想改你的脚本。真的

  1. class Window_MapZ < Window_Base
  2.   alias vip_refresh refresh
  3.   def refresh
  4.     vip_refresh
  5.     @vip_to_draw = vip_to_draw
  6.   end
  7.   def update
  8.     refresh if @vip_to_draw != vip_to_draw
  9.     self.visible = $game_switches[$LBA] #少用全局变量好吗?
  10.   end
  11.   def vip_to_draw
  12.     a = $game_actors[1]
  13.     [a.name,a.level,$game_party.gold,] #绘制到的数据数组
  14.   end
  15. end
复制代码
随便写的,插入到你这个脚本底下,未测试

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
3 小时
注册时间
2012-7-27
回帖
3
 楼主| 发表于 2015-1-5 14:42:40 | 显示全部楼层
本帖最后由 jscsjgc 于 2015-1-5 14:50 编辑
VIPArcher 发表于 2015-1-4 22:37
写脚本能稍微注意一下缩进么?画面简直太美,不想改你的脚本。真的随便写的,插入到你这个脚本底下,未测试 ...


谢谢你,。。。额,我才刚学脚本不久,我会注意的。话说这个机理是什么?,嗯,下面还有一个问题.
话说如果同样要同步刷新上面的血条和魔条,做成同步扣血扣魔的话那该怎么做呢?多谢大神指点
您的原脚本
class Window_MapZ < Window_Base
  alias vip_refresh refresh
  def refresh
    vip_refresh
    @vip_to_draw = vip_to_draw
  end
  def update
    refresh if @vip_to_draw != vip_to_draw
    self.visible = $game_switches[$LBA] #少用全局变量好吗?
  end
  def vip_to_draw
    a = $game_actors[1]
    [a.name,a.level,$game_party.gold,] #绘制到的数据数组
  end
end

同步及时扣血和扣魔刷新

同步及时扣血和扣魔刷新
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-5 17:23:13 | 显示全部楼层
jscsjgc 发表于 2015-1-5 14:42
谢谢你,。。。额,我才刚学脚本不久,我会注意的。话说这个机理是什么?,嗯,下面还有一个问题.
话说如 ...

vip_to_draw 那个数组里加上 a.hp 和 a.mp
回复

使用道具 举报

梦石
0
星屑
50
在线时间
3 小时
注册时间
2012-7-27
回帖
3
 楼主| 发表于 2015-1-5 20:18:18 | 显示全部楼层
taroxd 发表于 2015-1-5 17:23
vip_to_draw 那个数组里加上 a.hp 和 a.mp

def vip_to_draw
    a = $game_actors[1]
    [a.name,a.level,a.hp,a.mp,$game_party.gold,]
这样吗,但是貌似不行诶,应该是刷新绘制图形吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部