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

Project1

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

[有事请教] 请问如下代码究竟是什么意思呢?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1002
在线时间
519 小时
注册时间
2012-1-31
帖子
69
跳转到指定楼层
1
发表于 2020-4-27 02:09:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 脚本盲 于 2020-4-27 02:19 编辑

var ary = ['1','3','4'];
for (var key in $gameSelfSwitches._data) {
    console.log(key)
    if (key.match(/(\d+),\d+,[ABCD]/)) {
        if (ary.contains(RegExp.$1)){
            $gameSelfSwitches._data[key] = false;
        }
    }

Lv3.寻梦者

梦石
0
星屑
1002
在线时间
519 小时
注册时间
2012-1-31
帖子
69
2
 楼主| 发表于 2020-4-27 02:09:57 | 只看该作者
这个是在Yanna的范例包里看到的。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

3
发表于 2020-4-27 08:52:08 | 只看该作者
建议参见正则表达式相关的内容,来更好的理解。
$gameSelfSwitches._data[id]表示游戏的第id号开关。
这个意思也很好理解,因为一般对开关的存储键值是 mapid, eventid, switchid 这样的形式,所以遍历所有键值,找到匹配(\d+),\d+,[ABCD]这个形式的键值(为了把无关属性区分开来)。
然后检查第一个括号中的内容(mapid),如果包含在ary数组内,则将该开关设为关闭(false)。也就是说,这段代码把1,3,4这三个ID的地图上所有独立开关关闭。
  1. 数组ary = [字符串'1',字符串'3',字符串'4']
  2. for(遍历$gameSelfSwitches._data的属性key){
  3.   控制台.打印(key);
  4.   if(key.匹配(/(\d+),\d+,[ABCD]/)){  //详情请参见正则表达式
  5.     if(ary.包含(匹配组1的内容)){
  6.       $gameSelfSwitches._data[key] = false;
  7.     }
  8.   }
  9. }
复制代码

点评

大大厉害!  发表于 2020-4-28 12:09
SelfSwitches是独立开关  发表于 2020-4-27 22:50

评分

参与人数 1+1 收起 理由
脚本盲 + 1 认可答案

查看全部评分

祝好。
回复 支持 3 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-24 21:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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