godotjs / godotjs/javascript

How to extend from Scene

未关闭
#136 2 条评论 0 个 reaction 已指派 1 人 已被 @nmerget 认领 在 GitHub 查看
bug
主要语言
C++
星标
1.1k
派生
80
PR 合并指标
30 天内没有已合并 PR

描述

Card.tscn

```
[gd_scene load_steps=2 format=2]

[ext_resource path="res://Card.jsx" type="Script" id=1]

[node name="Card" type="Node2D"]
script = ExtResource( 1 )
```

Card.jsx

```jsx
export default class Card extends godot.Node2D {
_ready() {
console.log('Card _ready')
}
}
```

FarmerCard.tscn

```
[gd_scene load_steps=2 format=2]

[ext_resource path="res://Card.tscn" type="PackedScene" id=1]
[ext_resource path="res://FarmerCard.jsx" type="Script" id=2]

[node name="FarmerCard" instance=ExtResource( 1 )]
script = ExtResource( 2 )
```

FarmerCard.jsx

```jsx
import Card from './Card'

export default class FarmerCard extends Card {
_ready() {
super._ready()
console.log('FarmerCard _ready')
}
}
```

run `FarmerCard.tscn` scene, console output(missing "FarmerCard _ready" log):

```
Card _ready
```

error by exit the program:

```
Object leaks:
ADDRESS REFS SHRF PROTO CLASS PROPS
0x7fa149587bd0 1 0* 0x7fa148dbd410 GodotOrigin { __class__: 1"ECMAScript", __ptr__: 1"0x49587B00", __ctx__: 1"0x469A94E0", __id__: 1382 }
Assertion failed: (list_empty(&rt->gc_obj_list)), function JS_FreeRuntime, file quickjs.c, line 1978.
```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。