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

Project1

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

[已经解决] 运算符问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2013-3-27
帖子
7
跳转到指定楼层
1
发表于 2014-9-2 20:16:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
在rpg make xp 的脚本中看到好多这样格式的脚本,但不太明白是什么意思,求各位大大解惑
脚本:# 这个状态如果不是 full 的话就设置有效标志
        effective |= self.state_full?(i) == false

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2013-3-27
帖子
7
6
 楼主| 发表于 2014-9-3 10:04:17 | 只看该作者
轩荩 发表于 2014-9-2 20:43
顺便问一下 技能消耗sp的脚本是哪个,在哪里

找到了 3q
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2013-3-27
帖子
7
5
 楼主| 发表于 2014-9-2 20:59:49 | 只看该作者
3Q  了解了
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

4
发表于 2014-9-2 20:50:05 | 只看该作者
'|'运算符是按位或的意思,这个在true和false上进行操作可以简单地理解为“逻辑或”,效果和运算符'||'差不多。
而这两个运算符的含义就是'or',即“或者”。
所以有如下的运算规则:
true | true #=> true
true | false #=> true,反过来也一样
false | false #=> false
再继续说'|=',这个就是取按位或运算再对自身赋值,和'+=','-='差不多,只不过运算取的事按位或。
所以这句话可以解释为(把自赋值运算展开):
effective = effective | (self.state_full?(i) == false)
这里为了看着更明显,使用了括号,实际可不用。
意思就是说,如果第i号状态不是“满状态”(满状态的定义是状态的剩余回合数=状态解除的最低回合数),那么该附加状态就成功,技能的有效标志为有效。在这基础上和原来的有效标志做按位或运算(即如果原来的有效标志就是true的(技能已经有了效果),那么运算之后依然是true)。如果第i号状态是“满状态”,那么该状态附加失败,此效果为无效。但是该技能还可能有其他的效果,所以也要和原来的effective比对。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21701
在线时间
9422 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

3
发表于 2014-9-2 20:44:00 | 只看该作者
  1. effective |= self.state_full?(i) == false
复制代码
=》
  1. effective = effective | (self.state_full?(i) == false)
复制代码
  1. self.state_full?(i)
复制代码
返回状态是否为full,如果是full时返回true,否则返回false
  1. self.state_full?(i) == false
复制代码
返回的状态是否为false,如果为false时返回true,否则返回false

effective (self.state_full?(i) == false)effective | (self.state_full?(i) == false)
true true true
true false true
false true true
falsefalsefalse

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2013-3-27
帖子
7
2
 楼主| 发表于 2014-9-2 20:43:56 | 只看该作者
顺便问一下 技能消耗sp的脚本是哪个,在哪里

点评

补充:还有菜单中使用的技能。Scene_Skill 中搜索 @actor.sp -= @skill.sp_cost  发表于 2014-9-4 20:22
应该在Scene_Battle4里面吧,搜索一下这句@active_battler.sp -= @skill.sp_cost  发表于 2014-9-2 21:30
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 12:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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