Skip to content

How to extend from Scene #136

@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
No fields configured for issues without a type.

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions