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

Project1

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

[已经解决] [已解决]not...and语句什么意思?@hidden有什么用?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14111
在线时间
2142 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2019-5-13 11:06:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 miantouchi 于 2019-5-16 20:46 编辑

def initialize
        @Hidden = false
end
# ● HP 0 判定
  #--------------------------------------------------------------------------
  def hp0?
    return (not @Hidden and @hp == 0)
  end

not  若表达式值为真就返回伪,若表达式值为伪则返回真。
and  首先计算左边,若结果为真就接着计算右边
not @hidden 返回true
然后计算@hp == 0,是这个意思吗
这么做有什么意义?多个@hidden有什么用?

Lv6.析梦学徒

老鹰

梦石
40
星屑
33407
在线时间
6552 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2019-5-13 11:13:58 | 只看该作者
本帖最后由 百里_飞柳 于 2019-5-13 11:18 编辑

意思就是在 @Hidden 为真时,这个方法直接返回假
也就是在设计上,认为隐藏的敌人一定是存活的(hp0?返回假,判定为存活),隐藏的敌人只有在利用 战斗事件指令-敌人中途出现 后才能进行击杀

点评

真绕啊,隐藏是存活的,显示的是死亡的。  发表于 2019-5-13 16:43
@hp血量是战斗时候实时监控的吗?  发表于 2019-5-13 12:26
@Hidden 为假时,表示显示的敌人,true and @hp == 0,计算右边的@hp == 0, 是不是查看敌人血量是不是0,是0,就成立返回true,这块不太明白  发表于 2019-5-13 12:24
@Hidden 为真时,表示隐藏的敌人,false and @hp == 0, 这个方法直接返回假,不计算右边的@hp == 0,表示敌人存活。  发表于 2019-5-13 12:23
我记得中途逃跑的敌人也会获得@hidden标志  发表于 2019-5-13 11:52
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37794
在线时间
5402 小时
注册时间
2006-11-10
帖子
6546
3
发表于 2019-5-13 15:26:07 | 只看该作者
这个是定义" HP为0" 的状态,  内容就是 当战斗者不是隐藏的且HP等于0的时候,"HP为0" 这个状态成立

然后, 你可以全局搜索 hp0?  看它被什么地方调用, 用来进行什么判断

@hp血量是战斗时候实时监控的吗? 为什么要实时监控?   只要在需要的时候, 调用战斗者的当前HP进行判断就可以了

这个 @Hidden 表示隐藏状态, XP的战斗是战斗开始后,把所有敌人都保存到 敌人队列数组里, 如果这个敌人是打一半出现的, 那@hidden就是true, 战斗中通过事件让它的@hidden为false, 这样看起来就是乱入战斗的了, 同样, 敌人逃跑, 就把它的@hidden = true, 这样它就从战场上消失了

食栗子

点评

逃跑和中途出现代码我找到了,拟看看是不是这块。  发表于 2019-5-14 13:59
从视觉上看, 都是怪消失, 如果只是用visible来判断是否显示, 那就会造成混乱, 所以 hidden 就是为了区分死亡后消失还是逃跑消失而设计的  发表于 2019-5-13 16:59
你不用去考虑什么存活不存活, 它只是用来作为"是否在场"的判定而已, 比如把怪杀了可以得到经验值, 让怪逃跑得不到, 就是用它判断的  发表于 2019-5-13 16:56
隐藏的是存活的、显示的是死亡的,怎么这么绕  发表于 2019-5-13 16:41
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37794
在线时间
5402 小时
注册时间
2006-11-10
帖子
6546
4
发表于 2019-5-13 17:14:32 | 只看该作者
要让一个图片消失, 有几种做法?

你现在应该知道答案吧, 可以用 self.visible = false,  self.opacity = 0 这两个方法

那为什么这里还要多一个hidden , 也是判断图片显示或者消失用呢?

拿我的栗子给你看,  我设计的潜艇, 平时是看不到的, 只有用声呐才能让它显形,


同时, 我设计的夜战, 在视野范围外,是看不到敌人的


如果, 只是用一个实变量来判断图片是否显示, 那, 夜战下的潜艇又如何呢?  很显然, 夜战和潜艇的隐藏方法必须要用不同的实变量才不会混乱

然后看XP的默认战斗,  杀掉敌人后, 敌人图片会消失, 敌人逃跑后,图片也会消失,  那怎么判断是杀掉消失的还是逃跑消失的?  答案就是, 用hidden来判断

最后, 为什么不用opacity ?  因为, 它还要承当半透明图片的判断呢, 如果用opacity = 0 来让图片消失,  那假如一个半透明(opacity != 255)的幽灵,死后复活, 它的opacity要怎么恢复原来的设置?

点评

然后看XP的默认战斗, 杀掉敌人后, 敌人图片会消失, 敌人逃跑后,图片也会消失,这个地方使用hidden我没有找到,你看看楼下  发表于 2019-5-14 14:00
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

5
发表于 2019-5-13 23:55:21 | 只看该作者
hp0这个判断通常是用于“复活技能”,不应该包括隐藏的敌人,无论此敌人的hp是否为0。

hidden还有一个用处是,设计类似Dota2里黑鸟“星体禁锢”的技能,就是把目标的 @Hidden 改成 true,一定回合后再改回来。

点评

这是XP设计的问题~  发表于 2019-5-14 18:06
一个@Hidden作用这么大  发表于 2019-5-14 14:13
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14111
在线时间
2142 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

6
 楼主| 发表于 2019-5-14 13:58:06 | 只看该作者
本帖最后由 miantouchi 于 2019-5-14 14:54 编辑

是这几个地方用@hidder吗?我找的对吗




逃跑时设置true

逃跑时设置flase

战斗2.png (79.39 KB, 下载次数: 3)

战斗2.png

点评

正常情况下的战斗并没有操作hidden, 也就是说它一直是初始状态false, 你还是多打几次默认战斗看看表现吧  发表于 2019-5-14 16:35
但是我没找到hp0?处判断敌人死亡  发表于 2019-5-14 16:32
你的意思是杀死敌人的判断不是通过更改hidden,而是通过判断hp0?来进行,hp0?为真的时候hidden==false  发表于 2019-5-14 16:32
hidden 这个为真的时候, 表示敌人是隐藏的,也就是(没出现或者逃跑了), 杀死敌人不会改动它, 前面那个HP0? 的定义, 就是hidden==false的时候才算是杀死敌人  发表于 2019-5-14 16:02
图片更正了下,# 敌人不是隐藏状态的情况下 unless enemy.hidden,就是敌人显示结算,这是什么原因,不应该是敌人杀光了隐藏了,才结算吗?  发表于 2019-5-14 14:56
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14111
在线时间
2142 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

7
 楼主| 发表于 2019-5-14 16:37:38 | 只看该作者
我标记的貌似是通过hp0?来判断物品、技能的使用对象

1.png (118.56 KB, 下载次数: 11)

1.png

2.png (151.95 KB, 下载次数: 5)

2.png

点评

除了HP0? 还有dead? 也是判断死亡, 而且一般是用dead? 来判断的, HP0? 只是用于"需要复活的对象"  发表于 2019-5-14 17:12
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 20:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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