设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3943|回复: 5
打印 上一主题 下一主题

[已经解决] 如何做到游戏画面里显示变量?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1345
在线时间
98 小时
注册时间
2018-4-12
帖子
85
跳转到指定楼层
1
发表于 2018-4-15 17:01:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
   哎哟?'逐梦'有动态显示血量的效果?我也要移植到自己的游戏里,这样就可以显示变量xxx目前还有多少...

   嗯嗯?这是图片的效果?

   .....

  

   

游戏界面1.PNG (33.07 KB, 下载次数: 19)

目标图片

目标图片

游戏界面2.PNG (33.43 KB, 下载次数: 16)

这个就是...

这个就是...

期待的效果.png (34.14 KB, 下载次数: 22)

希望可以做成这个样子

希望可以做成这个样子
编程 音乐 美工...先从编程下手吧XD.

Lv5.捕梦者

梦石
0
星屑
39009
在线时间
5716 小时
注册时间
2006-11-10
帖子
6618
2
发表于 2018-4-15 17:43:57 | 只看该作者
4个步骤

1,做个描绘你要的东西的窗口(可以复制window_gold,吧描绘金钱该成变量就行。)

2,把它的皮肤隐藏掉(或者不隐藏也可以,看自己想要的效果)(方法:初始化里,添加self.opacity = 0)

3,在scene_map里添加你的窗口,让它永久显示(当然切换画面要释放)

4,重点:考虑refresh时机,每帧都刷的话会严重浪费资源,可以让SP不等于old sp的时候在刷新
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1345
在线时间
98 小时
注册时间
2018-4-12
帖子
85
3
 楼主| 发表于 2018-4-15 17:53:25 | 只看该作者
灯笼菜刀王 发表于 2018-4-15 17:43
4个步骤

1,做个描绘你要的东西的窗口(可以复制window_gold,吧描绘金钱该成变量就行。)

    修改之后...

    这是啥情况?

WTF.PNG (8.3 KB, 下载次数: 24)

WTF.PNG

额.PNG (44.87 KB, 下载次数: 23)

额.PNG

评分

参与人数 1+1 收起 理由
1696993583 + 1

查看全部评分

编程 音乐 美工...先从编程下手吧XD.
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
13363
在线时间
2300 小时
注册时间
2011-6-4
帖子
618
4
发表于 2018-4-15 18:42:37 | 只看该作者
myaa475 发表于 2018-4-15 17:53
修改之后...

    这是啥情况?

你可能误解了哪位站友的意思
BUG反馈请加QQ 529283039
水友群 917854767

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
13363
在线时间
2300 小时
注册时间
2011-6-4
帖子
618
5
发表于 2018-4-15 19:50:09 | 只看该作者

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

BUG反馈请加QQ 529283039
水友群 917854767

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
8
星屑
3943
在线时间
396 小时
注册时间
2017-10-11
帖子
154
6
发表于 2018-4-16 08:20:34 | 只看该作者
  1. #==========================================================================
  2. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。
  3. #==========================================================================

  4. VAR_SWITCH = 26          # 26号开关打开此脚本才工作,关闭则停止运算,并且透明
  5. VAR_REFRESH_SWITCH = 27  # 27号开关控制强制刷新,使用时机:1、把窗口由透明变为不透明(包括第一次使用时),2、游戏中用脚本更改了$var

  6. $var = []
  7. $var = [[1,55,121],[2,32,32]] #所有需要显示在地图并且刷新的变量,可在游戏中用脚本更改。格式:[变量编号,x坐标,y坐标]

  8. #==============================================================================
  9. # ■ Window_XY
  10. #------------------------------------------------------------------------------
  11. #  显示坐标的窗口。
  12. #==============================================================================
  13. class Window_Var < Window_Base#注意前面那个window_xy是文件名
  14. #--------------------------------------------------------------------------
  15. # ● 初始化窗口
  16. #--------------------------------------------------------------------------
  17. def initialize
  18.   super(0, 0, 600+32, 480+16)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
  19.   self.contents = Bitmap.new(width, height)
  20.   self.back_opacity = 255  # 这个是背景透明
  21.   self.opacity = 255       # 这个是边框和背景都透明
  22.   self.contents_opacity = 255       # 这个是内容透明
  23.   self.visible = false
  24.   self.contents.font.color = Color.new(0, 0, 0)  #定义文字颜色
  25.   self.contents.font.size = 14  #定义文字大小
  26.   self.z=100
  27.   @var = $var
  28.   @var_a = []
  29.   for var_draw in $var
  30.     @var_a[var_draw[0]] = $game_variables[var_draw[0]]
  31.   end   
  32.   refresh
  33. end

  34. #--------------------------------------------------------------------------
  35. # ● 刷新
  36. #--------------------------------------------------------------------------
  37. def refresh
  38.   if $game_switches[VAR_SWITCH]
  39.     @var = $var         # 记录现在变量数组结构
  40.     self.contents.clear # 清除以前的东西
  41.     for var_draw in @var
  42.       @var_a[var_draw[0]] = $game_variables[var_draw[0]] # 记录现在的游戏变量
  43.       self.contents.draw_text(var_draw[1],var_draw[2],640,32,@var_a[var_draw[0]].to_s)
  44.     end
  45.   end
  46. end
  47. #--------------------------------------------------------------------------
  48. # ● 判断文字刷新。节约内存用
  49. #--------------------------------------------------------------------------
  50. def judge
  51.   for var_draw in $var
  52.     if @var_a[var_draw[0]] != $game_variables[var_draw[0]] #如果现在记录的变量和游戏变量不同,刷新
  53.       return true
  54.     end
  55.   end
  56.   if $game_switches[VAR_REFRESH_SWITCH]  # 强制刷新的时候,刷新
  57.     $game_switches[VAR_REFRESH_SWITCH] = false
  58.     return true
  59.   end
  60.   return false
  61. end
  62. end

  63. class Scene_Map
  64. alias xy_66rpg_main main
  65. def main
  66.   @var_window = Window_Var.new
  67.   @var_window.opacity = 0
  68.   xy_66rpg_main
  69.   @var_window.dispose
  70. end
  71. #--------------------------------------------------------------------------
  72. # ● 刷新画面
  73. #--------------------------------------------------------------------------
  74. alias var_66rpg_update update
  75. def update
  76.   var_66rpg_update
  77.   if $game_switches[VAR_SWITCH]
  78.     @var_window.visible = true      
  79.     @var_window.refresh if @var_window.judge
  80.   else
  81.     @var_window.visible = false
  82.   end
  83. end
  84. end
  85. #==========================================================================
  86. # 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。别以为加密就可以del哦
  87. #==========================================================================
复制代码

评分

参与人数 2星屑 +50 +1 收起 理由
RyanBern + 50 认可答案
myaa475 + 1 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-14 15:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表