#10 peter
Ahoj všichni, tak hlásím, že jsem to vyřešil, byla to zase taková klasická pitomá chyba, neumím psát kod moc přehledně a přehlédl jsem, to, že jsem vlastně místo aktuální pozice letící kulky vracel pokaždé pozici počátečních souřadnic kulky, což je vlastně pozice hráče. Příště musím dávat bacha, jaké proměnné dosazuji :)
Příspěvky odeslané z IP adresy 85.207.251.–
Ahoj, vytvářím hru v javě a dostal jsem se k dalšímu problému a tím je detekce kolizí, pracuji s entitou hráče, poté mám pole entit nepřátel a arraylist vystřelených nábojů.
Detekci mezi hráčem a nepřáteli řeším klasicky přes getBounds(), který mi vrací Rectangle a poté je srovnám pomocí Intersects. Toto funguje v pořádku.
Problém nastává, když mám zavolat getBounds() nad vystřelenými náboji, nejsem si jistý, jak to vytáhnout z toho arraylistu.
Přikládám kod, jak prozatím detekuji kolize. Budu rád, za každou radu.
for (int i = 0; i < poleProtihracu.length; i++) {
if (poleProtihracu[i] != null) {
Rectangle okrajeHrace = player.getOkraje();
Rectangle okrajeNepratel = poleProtihracu[i].getOkraje();
// if (poleProtihracu[i].getOkraje().intersects(bullet.getOkraje())){
// poleProtihracu[i] = null;
//}
if (okrajeHrace.intersects(okrajeNepratel)) {
poleProtihracu[i] = null;
}
}
repaint();
}
Ahoj, zrovna dělám na jednom projektu do školy a narazil jsem na takový problém, generuji náhodná kladná čísla, to je v pohodě, ale teď bych potřeboval vygenerovat náhodně něco v rozmezí třeba -5 až 5, nenapadá vás něco? Uvažuju, že ať už do math.random dosadím cokoliv, tak se nedostanu nijak k zápornému číslu a kdybych to zase například přenásobil (-1), tak se zase nedostanu ke kladným. Je možné, že už jsem jenom večer utahaný a řešení bude nějaké jednoduché, na které hned ráno příjdu :D Ale vrtá mi to hlavou. Díky moc, pokud někoho něco napadne :)