IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 4. diel - Programovanie jednoduchých Java GUI hier - Obrázky

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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.

Odpovedať
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

Editované 17.1.2014 22:17
 
Odpovedať
17.1.2014 22:16
Avatar
TomBen
Tvůrce
Avatar
Odpovedá 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

Editované 18.1.2014 4:01
Odpovedať
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
Odpovedá 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 :)

 
Odpovedať
18.1.2014 11:36
Avatar
TomBen
Tvůrce
Avatar
Odpovedá 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. :-)

Odpovedať
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

Odpovedať
3.2.2014 21:43
Zase jsem o něco chytřejší
Avatar
vita
Tvůrce
Avatar
Odpovedá 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"));

Editované 6.2.2014 20:57
 
Odpovedať
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)

 
Odpovedať
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.

 
Odpovedať
27.3.2016 21:54
Avatar
B42P6
Člen
Avatar
Odpovedá 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, ...). ;)

Odpovedať
28.3.2016 0:02
'long long long' is too long for GCC
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!