用属性装饰器声明的节点数组,在编辑器里不能拖拽

写法1:
@property([Node])
checkpoint:Node[] = [];
写法2:
@property([Node])
checkpoint:Node[] = new Array();

都不能拖拽

  • Creator 版本:3.8.1

  • 目标平台: chrome

试试 @property(Node)—这里直接写node??
checkpoint:Node[] = [];

代码是没问题的,所以。
盲猜,你检查一下 import { .... } from 'cc' 里面,有没有 Node

他说的有没有可能是不能批量拖拽 :rofl:

直接写node没用

有import Node哦

声明的就是节点数组,想一个一个的节点在编辑器里托拽

image
@property(Node)
nodes: Node[] = [];

就是这样 没问题代码

我这样写拖拽不了,是3.8.1版本的

有没有可能你在编辑器面板里没有输入数组长度 就是楼上图里的12

压根就没有地方输入,连节点名称都不显示

把脚本代码贴全,就知道了

这样没问题,我也用的3.8.1

图片

什么意思?

很简单,你的property()括号里是类型就可以了,不能是[cc.Node],这样是识别不好的

写法没问题,贴完整代码和编辑器里的面板吧。我甚至怀疑你的代码都没编译成功。 :joy:

下面写的代码都有效呀

意思把代码贴全,看看导入;比如:

import { _decorator, Component, Node } from 'cc'
const { ccclass, property } = _decorator

@ccclass('Main')
export class Main extends Component {
    @property([Node]) optionAniml: Node[] = [];
    @property(Node) selectNode: Node
}

项目关掉,删掉缓存再打开试试