Hola a todos este es mi problema:
Actualmente estoy creando un juego siguiendo un tutorial, pero tengo un problema en mi constructor.
Estoy usando un constructor para dibujar alguna plataforma. Estoy tratando de dibujar una imagen en mi plataforma pero no funciona.
Aparece la imagen pero no su ancho (cosas que necesito tener para que el proyecto funcione correctamente). Pero después de una recarga, el ancho es correcto y el proyecto está funcionando.
Así que asumo que tengo que declarar mi imagen en algún lugar (quizás con una carga), pero probé muchas cosas sin que funcionara.
Aquí está mi código:
class Platform { constructor({x, y, image}) { this.position = { x: x, y: y } this.image = image this.width = image.width this.height = image.height } draw() { canvas.drawImage(this.image, this.position.x, this.position.y) } } const image = new Image() image.src = platform console.log(image) console.log(image.width) const player = new Player() const platforms = [new Platform({ x: 200, y: 100, image: image }), new Platform({ x: 500, y: 200, image: image})] const keys = { right: { pressed: false }, left: { pressed: false } } let scrollOffset = 0 function animate() { requestAnimationFrame(animate) canvas.clearRect(0, 0, getCanvas.width, getCanvas.height) platforms.forEach((platform) => { platform.draw() })Entonces, como puede ver, en la primera carga, no tengo ancho: 0 ancho
Pero, si presiono recargar, ahí está: 580 de ancho
Alguien me ha dado una idea...
Gracias de antemano y lo siento por mi inglés.