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

Project1

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

[有事请教] 如何 在function内获取当前事件的id

[复制链接]

Lv1.梦旅人

梦石
0
星屑
224
在线时间
28 小时
注册时间
2020-3-16
帖子
9
跳转到指定楼层
1
发表于 2021-9-22 16:15:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
        monstermove = function() {
       
                                   var a = this._eventId;
           $gameMap.event(a).moveStraight(6);
            
        };

用一个事件执行monstermove,发现无法获取本事件的id,请大佬指点下

Lv1.梦旅人

梦石
0
星屑
224
在线时间
28 小时
注册时间
2020-3-16
帖子
9
3
 楼主| 发表于 2021-9-23 01:13:52 | 只看该作者
zths 发表于 2021-9-22 23:45
this 不会自动往下传的.
调用的时候得 : monstermove.bind(this)();
this才会跟着走.

谢谢大佬指点,我基础差,还要多加学习
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3476
在线时间
293 小时
注册时间
2020-1-27
帖子
190
2
发表于 2021-9-22 23:45:32 | 只看该作者
this 不会自动往下传的.
调用的时候得 : monstermove.bind(this)();
this才会跟着走.

或者直接拿当前运行事件的 evid: (但不包括并行运行那些.
function getEvid() {
    if (typeof $gameMap === "undefined" && $gameTroop === "undefined") {
        return 0;
    }
    var target = $gameMap
    if ($gameTroop && $gameTroop._inBattle) {
        target = $gameTroop
    }

    if (target._interpreter === undefined) {
        return 0;
    }
    if (target._interpreter._list === undefined) {
        return 0;
    }
    if (!target._interpreter._list) {
        return 0;
    }
    if (target._interpreter._list.constructor.name !== "Array") {
        return 0;
    }
   
    return target._interpreter._eventId;
}
事件需要递归到子事件.我没写递归. 你自己搞.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-17 06:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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