Skip to content

How to extend from Scene #136

Open
Open
@qq15725

Description

@qq15725

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

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

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.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions