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

Project1

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

[已经过期] 如何暂时禁用某脚本?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
62 小时
注册时间
2014-9-20
帖子
33
跳转到指定楼层
1
发表于 2015-10-11 11:09:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想制作一个游戏,想再刚开始的时候设置一个难度的选择,但是我设置好了以后发现我的血量显示的脚本把血量显示在了左上角,感觉很不舒服,请帮帮我!( ̄︿ ̄)

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-10-11 11:38:27 | 只看该作者
如果脚本本身没有提供这个功能,你又不会脚本的话,基本就放弃吧...

就你这个问题来看,应该只要调整显示部分的 visible 属性即可。想得到更具体的回答,至少先把脚本贴出来吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
62 小时
注册时间
2014-9-20
帖子
33
3
 楼主| 发表于 2015-10-11 17:16:59 | 只看该作者
本帖最后由 SiWangQi 于 2015-10-11 17:32 编辑

RUBY 代码复制
  1. # 我们要创建一个在地图上显示的血条
  2. # 我们需要图片 图片可以借助【Bitmap】引用
  3. # Bitmap要显示在画面上 需要借助【Sprite】
  4. # VA原系统就有一套显示在画面上的Sprite 比如:行走图 地图图块……
  5. # 它把这套Sprite放在了一起 也就是【Spriteset】
  6. # 用于地图的Spriteset是【Spriteset_Map】 它是游戏自己定义的 在左边的列表可以找到
  7.  
  8. # 我们把我们的血条放进Spriteset_Map 这样就会和其他的东西一起被调用
  9. class Spriteset_Map
  10.   # 打开这个类
  11.  
  12.   # create_viewports方法在initialize(初始化)里面调用 我们把我们的方法也塞在一起
  13.   alias :create_viewports_2014_05_25_ex_mo_hp_bar :create_viewports
  14.   # 起别名: 新的别名 原来的名字
  15.   def create_viewports
  16.     # 打开原来的方法
  17.     create_viewports_2014_05_25_ex_mo_hp_bar
  18.     # 通过别名 调用以前的方法
  19.     # 如果不取别名 直接用原名 系统不知道你要调用的是原来的方法
  20.     #  还是你正在改的这个方法
  21.     create_hp_bar
  22.     # 调用我们自己的方法 这个方法还不存在 所以我们要新建一个
  23.   end
  24.  
  25.   def create_hp_bar
  26.     # 新建方法 创建血条
  27.     @hp_bar = Sprite_HP_BAR.new(@viewport3)
  28.     # 左边是我们为血条实例起的名字
  29.     # 【Sprite_HP_BAR】是我们将用来控制血条的类 目前还没有做好
  30.     # 【类.new(参数)】的过程会将参数传递给类的initialize方法
  31.  
  32.     # @viewport3是原系统自动创建的显示端口
  33.     # 这套端口有三个:@viewport1 @viewport2 @viewport3
  34.     # 3显示在2的前面 会遮挡住2 2在1的前面 我们不能让地图挡住了血条
  35.     # 所以用3
  36.   end
  37.  
  38.   alias :update_2014_05_25_ex_mo_hp_bar :update
  39.   # 更新 理论上 这个方法每帧调用一次
  40.   def update
  41.     update_hp_bar # 更新我们的血条
  42.     update_2014_05_25_ex_mo_hp_bar
  43.   end
  44.  
  45.   def update_hp_bar
  46.     @hp_bar.update # 更新我们的血条 这里调用了update
  47.   end
  48.  
  49.   alias :dispose_2014_05_25_ex_mo_hp_bar :dispose
  50.   # 释放
  51.   # 总有结束游戏(或退出地图)的时候
  52.   # 释放所有的地图精灵 腾出空间给其他的界面
  53.   def dispose
  54.     dispose_hp_bar #
  55.     dispose_2014_05_25_ex_mo_hp_bar
  56.   end
  57.  
  58.   def dispose_hp_bar
  59.     @hp_bar.dispose #调用了 dispose
  60.   end
  61. end
  62.  
  63.  
  64. # 现在开始我们的类
  65. class Sprite_HP_BAR
  66.  
  67.   # 还记得吗? .new(@viewport3)
  68.   def initialize(v)
  69.     @hp_bar_back = Sprite.new(v) # Sprite 是内建的精灵类
  70.     @hp_bar_fore = Sprite.new(v)
  71.     @hp_bar_fore.x, @hp_bar_fore.y  = 0, 0 # 调整位置 这是左上角的坐标
  72.     @hp_bar_fore.x, @hp_bar_fore.y  = 81, 34
  73.     @hp_bar_back.bitmap = Cache.system("HP_Bar") # 获取图片 并设置为精灵的bitmap
  74.     @hp_bar_fore.bitmap = Cache.system("HP_Green") # 用于显示
  75.     # Cache是原生的模块 用于读取并缓存图片 它的内部会调用Bitmap.new来建立图片
  76.     @hp_bar_fore.opacity = 200
  77.     # 调整前景(血条)的不透明度
  78.     @status = :healthy # :dying :injured :healthy
  79.     # 用一个变量标记当前的状态 以便切换血条颜色
  80.  
  81.     # 以下是在背景上描绘文字
  82.     # draw_text是Bitmap类里面的方法
  83.     # draw_text(横坐标, 纵坐标, 宽度, 高度, 要描绘的文字, 对齐方式)
  84.     # 对齐方式默认为0 代表左对齐 1居中 2右对齐
  85.     @hp_bar_back.bitmap.draw_text(50, 30, 60, 30, "HP")
  86.     @hp_bar_back.bitmap.font.size = 20 # 调整字号
  87.     @hp_bar_back.bitmap.draw_text(222, 53, 84, 30, $game_party.leader.name, 1)
  88.     # $game_party.leader可以获取领队 .name获取名字
  89.     @hp_bar_back.bitmap.font.size = 16
  90.     @hp_bar_back.bitmap.draw_text(312, 53, 36, 30,
  91.     "Lv.#{$game_party.leader.level}", 1)
  92.     # 获取等级
  93.   end
  94.  
  95.   # 还记得吗?@hp_bar.update
  96.   def update
  97.     actor = $game_party.leader # 获取领队 保存在临时变量actor中
  98.     if actor.hp * 100 / actor.mhp >= 60 # 如果生命率大于60% 健康
  99.       # :healthy
  100.       if @status != :healthy  # 如果先前不是健康
  101.         @status = :healthy # 切换到健康
  102.         @hp_bar_fore.bitmap = Cache.system("HP_Green") # 并使用绿色血条
  103.       end
  104.     elsif actor.hp * 100 / actor.mhp <= 20 # 如果生命率小于20% 濒死
  105.       # :dying
  106.       if @status != :dying
  107.         @status = :dying
  108.         @hp_bar_fore.bitmap = Cache.system("HP_Red")
  109.       end
  110.     else # 否则 受伤
  111.       # injured
  112.       if @status != :injured
  113.         @status = :injured
  114.         @hp_bar_fore.bitmap = Cache.system("HP_Yellow")
  115.       end
  116.     end
  117.     @hp_bar_fore.zoom_x = actor.hp / actor.mhp.to_f
  118.     # 右边计算比率
  119.     # 左边是Sprite的属性 zoom_x 代表横向缩放率 1代表100%
  120.   end
  121.  
  122.   # 还记得吗?@hp_bar.dispose
  123.   def dispose
  124.     @hp_bar_fore.bitmap.dispose if @hp_bar_fore.bitmap
  125.     # 先释放位图(如果有的话)
  126.     @hp_bar_fore.dispose
  127.     # 再释放精灵
  128.     @hp_bar_back.bitmap.dispose if @hp_bar_back.bitmap
  129.     @hp_bar_back.dispose
  130.   end
  131. end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
62 小时
注册时间
2014-9-20
帖子
33
4
 楼主| 发表于 2015-10-11 17:17:29 | 只看该作者
就是这个
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
62 小时
注册时间
2014-9-20
帖子
33
5
 楼主| 发表于 2015-10-11 17:20:00 | 只看该作者
SiWangQi 发表于 2015-10-11 17:16
# 我们要创建一个在地图上显示的血条
# 我们需要图片 图片可以借助【Bitmap】引用
# Bitmap要显示在画面上  ...

@taroxd
就是这个脚本了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 21:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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