Gå til innhold

Webl - laste inn bilde.


Anbefalte innlegg

Hei! Sliter litt med at teksturen min ikke vil komme til syne.

Er ganske fersk på både javascript og webgl - finner ikke ut hva feilen er.

 

Jeg har (med suksess) brukt dette oppsettet i Main klassen, men vil altså ha det i en extern klasse og kalle på den i stedet. Jeg har gjort de endringene jeg mener er nødvendig, men hverken chrome eller firefox er helt enig :)

 

Chrome sier følgende: Uncaught TypeError: Cannot read property 'image' of undefined

 

function lagPongBoard
{...}

lagPongBoard.prototype.setTexture = function ()
{
this.roomTexture = gl.createTexture();
this.roomTexture.image = new Image();

this.roomTexture.image.onload = function ()
{
 gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
	gl.bindTexture(gl.TEXTURE_2D, this.roomTexture);
	gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this.roomTexture.image);
	gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);

	gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);
	gl.generateMipmap(gl.TEXTURE_2D);

	gl.bindTexture(gl.TEXTURE_2D, null);
}
this.roomTexture.image.src = "room.gif";
}

 

All hjelp er god hjelp :)

Endret av HadHa
Lenke til kommentar
  • 2 uker senere...
Videoannonse
Annonse

Den finner som du sikkert klare å tolke ut av feilmeldingen ikke image-objektet, og jeg tipper (etter bare å ha skumlest litt) at det har med this å gjøre.

 

This i Javascript er et usedvanlig vanskelig tema, og fungerer ofte ikke helt slik du vil. Jeg anbefaler at du lukker scopet til this ved å sette den til en "var self = this", slik at du bestandig vet hvor du har den :) This blir nemlig redeklarert i function-scope og skrives frekt over uten at du bestandig vil det.

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...