NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 4 - Programování jednoduchých Java GUI her - Obrázky

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:23.9.2013 13:03

Většinou jsem pro obrázky používal v Javě třídu BufferedImage, nemuselo e na něm volat getImage() při vykreslování. Observer se dá využít také k tomu, aby se animoval obrázek typu GIF. Dnes už dělám jen v JavaFX, tam se to dělá již automaticky.

Odpovědět
23.9.2013 13:03
New kid back on the block with a R.I.P
Avatar
vfsdfsdfdsf
Člen
Avatar
vfsdfsdfdsf:17.1.2014 22:16

Nějak jsem nepobral, na co se tvoří ten rám obrázku...
A trošku mi tam chyběla zmínka o tom, jak vlastně vložit ten obrázek do NetBeans...

  1. Přetáhnout ho do projektu třeba z pruzkumníka
  2. CTRL+C (např. v průzkumníku) a CTRL+V (v NetBeans)
  3. Vložit přímo do projektové složky kde máme třídy (src)

Možná Vám to přijde jako jasná věc, ale pro nováčky (jako jsem já) to zas tak jasné být nemusí, asi 5 minut jsme hledal různě v nabídkách, něco jako New -> Image :D

Ale jinak super :) Docela rozdíl např. od GML, kde stačí napsat jen draw_image(img, x, y) a vše je hotovo :D

Editováno 17.1.2014 22:17
 
Odpovědět
17.1.2014 22:16
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na vfsdfsdfdsf
TomBen:18.1.2014 3:59

Pleteš se jak v Javě, tak v GML. I když javu nedělám, jde tu zjevně o načítání resources ze souboru a odpovídající kód v GML je tedy:

background_add(filename, removeback, smooth);
draw_background(background, x, y);

Pokud bys chtěl mít taky okno velké podle obrázku a centrované, musel bys přece jen nějaký ten kód přidat. GML není tak jednoduchý jazyk, jak vypadá. Ve snaze o srozumitelnost davům jsou v něm některé věci velmi těžko vytvořitelné. Ne nemožné, jen velmi, velmi těžké. Asi tak, jako by to bylo u ostatních jazyků nebýt knihoven.

BTW: draw_image neexistuje v gml vůbec

Editováno 18.1.2014 4:01
Odpovědět
18.1.2014 3:59
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
vfsdfsdfdsf
Člen
Avatar
Odpovídá na TomBen
vfsdfsdfdsf:18.1.2014 11:36

Ale notak :D nechytej mě za slovo... samozřejmě jsem měl na mysli draw_sprite, ale ne každý kdo nedělá v GM ví, že sprite = obrázek... mě šlo spíš o to zdůraznit, jak moc se ty dva jazyky liší co do obtížnosti :)

A pořád si trvám na tom draw_sprite než-li na načítání z externích souborů, protože i ten obrázek v Javě vkládáme přímo do projektu a načítáme ho z podobného prostoru, kde jsou uloženy samotné třídy...
Tak samo v GM - první vytvoříš sprite, který vložíš přímo do aplikace a pak ho jen "nakreslíš" na obrazkovku :)

 
Odpovědět
18.1.2014 11:36
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na vfsdfsdfdsf
TomBen:18.1.2014 13:29

Nesouhlasím s lecčíms z toho, co píšeš, ale tady to spamovat nechci. Přečetl jsem si, co sis dal na zeď a tvůj názor je jasný. Protože jde zároveň o pózu, tak z něj nemůžeš ustoupit i kdybys chtěl a tím debata zřejmě ztrácí smysl. Ok, budu tě brát tak, jaký jsi a pokud se udržíš jen v mezích osobního názoru, nebudu to dál řešit. Nicméně, kdybys měl o nějakou debatu zájem, klidně otevři diskuzi v GM sekci. Budeš-li mít argumenty, rád budu oponovat. Už jsem dlouho nepokecal s nikým, kdo zvládne alespoň i/y na správných místech. :-)

Odpovědět
18.1.2014 13:29
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Ondrca
Tvůrce
Avatar
Ondrca:3.2.2014 21:43

Ahoj, co přesněji znamená - getClass a getResource? Díky

Odpovědět
3.2.2014 21:43
Zase jsem o něco chytřejší
Avatar
vita
Tvůrce
Avatar
Odpovídá na Ondrca
vita:6.2.2014 20:56

this.getClass()­.getResource("o­brazek1.jpg") vrátí URL, kde se nachází obrazek1.jpg. Tento zdroj (obrazek1.jpg) se hledá v místě (package), kde se nachází aktuální třída (this.getClass()). Výsledná URL se předá jako parametr konstruktoru ImageIcon.
ImageIcon ii = new ImageIcon(this­.getClass().get­Resource("obra­zek1.jpg"));

Editováno 6.2.2014 20:57
 
Odpovědět
6.2.2014 20:56
Avatar
blrizzard
Člen
Avatar
blrizzard:30.11.2014 13:29

Nevíte co je za problém? Mám to stejně jako tu.
Exception in thread "main" java.lang.NullPo­interException
at javax.swing.I­mageIcon.<init>(Un­known Source)
at JavaImages.Ja­vaImage.<init>(Ja­vaImage.java:19)
at JavaImages.Ja­vaShow.<init>(Ja­vaShow.java:12)
at JavaImages.Ja­vaShow.main(Ja­vaShow.java:20)

 
Odpovědět
30.11.2014 13:29
Avatar
Jakub Stacho:27.3.2016 21:54

Mam tiez taky isty problem ako chlapik v poslednom prispevku. Obrazok mam uložený pri triedach v ktorých pracuuem s nim. Ale nejde mi to.

 
Odpovědět
27.3.2016 21:54
Avatar
B42P6
Člen
Avatar
Odpovídá na Jakub Stacho
B42P6:28.3.2016 0:02

Ahoj. Skontroluj si názov obrázku s názvom ktorý máš v zdrojáku. Názov obrázku v zdrojovom kóde musíš napísať aj vrátane prípony (.png, .jpg, ...). ;)

Odpovědět
28.3.2016 0:02
'long long long' is too long for GCC
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 10 zpráv z 13.