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

Project1

 找回密码
 注册会员
搜索

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

查看数: 3278 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-5-13 11:06

正文摘要:

本帖最后由 miantouchi 于 2019-5-16 20:46 编辑 def initialize         @Hidden = false end # ● HP 0 判定   #------------------------------------------------------------ ...

回复

guoxiaomi 发表于 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
灯笼菜刀王 发表于 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
灯笼菜刀王 发表于 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
百里_飞柳 发表于 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
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-23 12:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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