Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

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
Posledné komentáre sú na spodnej časti poslednej stránky.
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ť
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é
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é
Odpovedať
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 :)

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ť
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ť
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é
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)

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.

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ť
'long long long' is too long for GCC
Posledné komentáre sú na spodnej časti poslednej stránky.
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.

Zobrazené 10 správy z 13.