Estoy tratando de implementar la herencia en un juego que estoy haciendo con mecanografiado (pixi.js) pero me estoy quedando atascado en este error. Tengo una clase, Dog, con el siguiente código:
export class Dog extends Enemy { //private game: Game; //private speed: number = 0; constructor(texture: PIXI.Texture, game: Game) { super(texture); this.game = game; }También tengo un enemigo de clase, al que se extiende el perro de clase, con el siguiente código:
export class Enemy extends PIXI.Sprite { public game: Game; public speed: number = 0; constructor(texture: PIXI.Texture, game: Game) { super(texture); this.game = game; }Pero en mi archivo dog.ts aparece el siguiente error debajo de super (textura); parte de mi código: Esperaba 2 argumentos, pero obtuve 1.ts(2554)
No tengo idea de lo que esto significa, como era de esperar, he dado un argumento para el juego en el archivo enemigo.ts y también lo extiendo a Pixi.sprite.
Editar: si cambio el super en enemigo.ts a super (textura, juego), aparece el siguiente error: si hago esto, aparece el siguiente error: 0-1 argumentos esperados, pero obtuve 2.ts (2554)
Solo puedo argumentar en la superfunción, así que me temo que esto no solucionará el problema.
Edición 2: Nvm cambié el archivo incorrecto
Porque no proporcionó game (que es un argumento requerido) en super . En la clase Dog , agregue el parámetro del game a la super función:
super(texture, game);Bueno, el constructor de Enemy espera dos argumentos en la entrada: texture: PIXI.Texture, game: Game pero solo estás dando el primero.
Entonces, en tu dog.ts de
super(texture)modificar a
super(texture, game) El mismo error puede aparecer en la clase Enemy si Pixi.Sprite espera los mismos dos argumentos.