动作组的参数传递问题



  • 在传递参数时,仅在使用动作组的父事件条中成功,在第一个子事件条中无法成功给局部变量赋值
    不知道是不是等待的问题
    但是等待在局部变量定义之前,应该不会有影响才对
    难道等待完成、继续执行时会重置动作组参数?
    另外,第17条中两个条件禁用的前提下,运行时依然没有执行调试用的“b”显示,只有使用动作组的“a”显示

    希望达到的目标:通过传递参数来正确控制分解卡牌时的最大保留数量
    (当前执行时能运行完成,不会死循环,但是最大保有量变成0了)
    请各位大佬指教,谢谢
    undefinedundefinedundefinedundefined



  • 还有,对于文本内容使用表达式时,何种情况下可以不加str()也能正确运行?何种情况下加了str()反而出错?
    (比如试图添加undefined值,并当做数值类型进行str()时会怎样?)



  • 但是这样是能够按照设想正常运行的
    (这是利用了全局变量的初代设计思路)
    (但是如果之后每个动作组都要新建全局变量来传递参数就会很麻烦)
    所以有没有什么解决办法呢?
    undefinedundefinedundefinedundefined



  • @Varisox137
    好像不小心被我编辑掉了一段:
    是等待的问题,因为等待好像只会保留事件的运行状态延后执行,但是并不会保留传递进动作组的参数,所以等待之后,引用参数的表达式返回值就会变回0了,把等待去掉应该就行了(或者把等待放到引用参数的表达式之后再执行试试看)。
    ————
    要不要加str的问题的话,其实可以看你输入的条件动作框所需要的数据类型,或者可以这么来分:
    1、给变量赋值的话,基本都有数据类型的要求,除非你使用的表达式返回值是不分类型的(例如数组或辞典的值,可以是数值型也可以是字符型),不过虽然输入框都能通过,但为了最终结果的准确性,还是建议套好格式转换的表达式,确保最终赋值给变量的值是正确的类型。
    2、给表达式的参数输入值,也基本都有数据类型的要求,部分表达式的特定参数可填写数值型也可以填字符型的数据,但是填写的依据不太一样(例如绑定点,填数值型是根据绑定点索引来查找的意思,填字符型是根据绑定点名称来查找的意思)
    3、一些条件动作的输入框,这个比较杂,但大多数跟表达式的情况差不多,少部分是填完之后,不管你的数据类型是什么,都会帮你转成特定类型(例如文本对象的设置文本之类的动作),也有一些是你填什么类型的数据就按什么类型的数据来处理(例如数组、辞典的值设置,是保留类型存入的)
    我的建议是,如果有数据类型的要求,就根据对应情况中它们所要求的类型去填写(这种的话填了错误的数据类型会提示的),如果没有,就按你自己的设计所需要的数据类型来填写。
    上面是建议,那如果不按建议来,硬是填了不对应的类型的话会怎么样这点,唤境的事件逻辑我记得是用的js,也就是会按js的规则进行类型强转才对,不同情况强转后的结果,可以直接找js是怎么处理的,应该就行了。



  • 谢谢大佬~
    但是现在不知道什么原因会网络异常
    无法预览,也无法发布
    是不是加入的排行榜组件的问题呢


登录后回复