Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | YangTegap |
I’m building a grid-based game. I have a tile script which is extended to an actor script. This actor script is then extended to a player and an npc script.
The tile script has a variable called “block” as seen here:
@export var block : bool
I am trying to set it so that all “actor” based classes have block set to true by default:
block = true
I get the following error for both my player and npc classes:
Parse Error: Could not resolve super class inheritance from "res://actors/actor.gd".
What have I done wrong?
I could not reproduce the situation. Don’t you have any other clue?
toxicvgl | 2022-12-18 22:40
I’m on the Godot 4.0 Beta, so maybe that’s why. But there’s not really much other information.
tile.gd :
extends Node2D
@export var block : bool = false
actor.gd :
extends "res://tile.gd"
block = true
player.gd :
extends "res://actors/actor.gd"
Here’s the Error I get:
Error at (0, 0): Could not resolve super class inheritance from "res://actors/actor.gd".
YangTegap | 2022-12-19 16:16
Well, that’s the error I get in the player.gd script. In the actor script itself I get an error stating: Unexpected "Identifier" in class body.
and it highlights my block = true
line
YangTegap | 2022-12-19 16:18
I don’t think the sentence block = true
in actor.gd is syntactically correct, it cannot be in preamble. We can write it in _ready()
instead.
It is not important, but I am wondering why you don’t use class_name
for the tile and the actor.
toxicvgl | 2022-12-19 17:27