- Google Chromecast topic
- Utánajártunk, hogy melyik memória mennyire drágulhat
- Végleg lemondott a régi gépekről a Steam
- TCL LCD és LED TV-k
- Milyen egeret válasszak?
- VR topik
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- Kormányok / autós szimulátorok topikja
- Bambu Lab 3D nyomtatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
Új hozzászólás Aktív témák
-
trisztan94
őstag
Van egy sprite-om ami 300px széles, és ki kellene tölteni egy 800px széles window-t. Hogy lehet ezt a legkönnyebben megoldani?
Én így oldottam meg, de szerintem ez így baromi teljesítmény zabáló (folyton változtatgatni a sprite helyzetét..)
Render() metódus [libgdx]: (A create() metódusban van megadva az alap pozíciója, ami 0,-5)
batch.begin();
grassSprite1.draw(batch);
grassSprite2.draw(batch);
grassSprite3.draw(batch);
grassSprite1.setPosition(280, -5);
grassSprite2.setPosition(280, -5);
grassSprite3.setPosition(280, -5);
grassSprite1.draw(batch);
grassSprite2.draw(batch);
grassSprite3.draw(batch);
grassSprite1.setPosition(570, -5);
grassSprite2.setPosition(570, -5);
grassSprite3.setPosition(570, -5);
grassSprite1.draw(batch);
grassSprite2.draw(batch);
grassSprite3.draw(batch);
grassSprite1.setPosition(0, -5);
grassSprite2.setPosition(0, -5);
grassSprite3.setPosition(0, -5);
batch.end();Azért van 3 grassSprite, mert három különböző "layer"-en vannak. Innen csórtam.
Szerk: ha széthúzom a sprite-okat 800px szélesre akkor sajna nagyon romlik a minőségük, ezért kell ez a "duplikálás" (mi erre a helyes magyar szó?
)Más (hunfatal) :
Úgy oldottam meg végül az ütközés utáni body törlést, hogy létre hoztam egy array-t (deleteBodies), oda hozzáadtam a contactlistenerben a body-t amit törölni kell (A fixture-ökből szedtem ki a getBody() fgv-el), majd a render metódus elején (tehát a contactlisteneren kívül) töröltem. Így nincs külön osztályban, de működik.
Mit gondol(tok)sz? jó lesz így?
kaud:
ContactListenerben:dropDeletionList.add(fixtureA.getBody());
A render metódus elején:
if(dropDeletionList.size > 0){
Iterator<Body> iter2 = dropDeletionList.iterator();
Iterator<Body> iter = raindrops.iterator();
while (iter2.hasNext()){
Body dropToDel = iter2.next();
while(iter.hasNext()){
Body drop = iter.next();
if(drop.equals(dropToDel)){
iter.remove();
world.destroyBody(dropToDel);
}
}
}
dropDeletionList.clear();
}A raindrops array iterátora azért kell, hogy ne csak a body-t törölje ki, hanem a hozzá tartozó textúrát is.
Új hozzászólás Aktív témák
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7670 i9-12950HX 64GB RAM 1TB SSD Nvidia RTX A3000 12GB 1 év gar
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- HIBÁTLAN iPhone 14 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3159
- iPhone 14 Pro Max 128GB 100% (1év Garancia)
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
)

