Diskuze: Chyba p

Java Java Chyba p

Aktivity (1)
Avatar
fildanovo
Člen
Avatar
fildanovo:8.7.2014 13:57

Chyba při načítání textur. nejde načíst textura do mé hry. Jméno je správné. Načítání map funguje s kódem ImageIO.read(this­.getClass().get­Resource(file­Name)), bohužel při použití this na textury mi to píše Cannot use this in static context.

Editováno 8.7.2014 14:02
 
Odpovědět 8.7.2014 13:57
Avatar
fildanovo
Člen
Avatar
Odpovídá na fildanovo
fildanovo:8.7.2014 14:04

Do názvu vlákna jsem psal chyba při načítání textur. To co je tam napsáno není moje vinna.

 
Nahoru Odpovědět 8.7.2014 14:04
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na fildanovo
Jan Vargovský:8.7.2014 14:34

Protože this neexistuje ve statickém kontextu té třídy (ať už v konstruktoru nebo metodě). Ta instance nemusí existovat vůbec a nebo jich může být nekonečně mnoho.

 
Nahoru Odpovědět 8.7.2014 14:34
Avatar
fildanovo
Člen
Avatar
Odpovídá na Jan Vargovský
fildanovo:8.7.2014 14:35

Ano a jaké je tedy řešení mého problému.

 
Nahoru Odpovědět 8.7.2014 14:35
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na fildanovo
Jan Vargovský:8.7.2014 14:37

Předělat oba do statiky/ nestatiky.

 
Nahoru Odpovědět 8.7.2014 14:37
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na fildanovo
Hartrik:8.7.2014 14:44

fileName by mělo být ve formátu

/xx/yy/zz/soubor

poté by to mělo fungovat

 
Nahoru Odpovědět 8.7.2014 14:44
Avatar
fildanovo
Člen
Avatar
fildanovo:8.7.2014 14:44

Omlouvám se asi jsem špatně popsal problém- problém je ten že když chci načíst obrázek pomocí BufferedImage image = ImageIO.read(Tex­ture.class.get­Class().getRe­source(fileNa­me)); tak mi to napíše že java.lang.Ille­galArgumentEx­ception: input == null!
at javax.imageio­.ImageIO.read(Un­known Source) a načítání map byla jenom ukázka že nejsem úplná lama(i když tak vypadám) a že nemám problém se složkama, samozřejmě vím this nemůže existovat ve statickém kontextu.

Editováno 8.7.2014 14:47
 
Nahoru Odpovědět 8.7.2014 14:44
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na fildanovo
Hartrik:8.7.2014 15:10

Chyba by mohla být v class.getClass() - tím dostáváš další instanci Class z instance Class<Texture>.

Takže:

Texture.class.getResource(fileName);
 
Nahoru Odpovědět 8.7.2014 15:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.