Új hozzászólás Aktív témák
-
válasz
trisztan94
#2293
üzenetére
Tudom, de az angol olvasás lefáraszt agyilag. Sajnos csak középfokum van és nem zsigerből fordítok

Nem veszek ebook olvasot, most kocsira gyujtok

-
WonderCSabo
félisten
válasz
trisztan94
#2246
üzenetére
Töröld ki kézzel a fájlt, indítsd újra a VTS-t, stb.
Mondjuk fura, mert nekem a JAD illetve JD-GUI van Java source code generator toolnak VTS alatt.
-
Karma
félisten
válasz
trisztan94
#2243
üzenetére
Ez Dalvik assembly, úgyhogy annyira nem jársz messze.
A VTS-ben a projekt beállításai között van egy opció, hogy Java forrás generálása (checkbox), ezt billentsd be, majd buildeld újra az APK-t.
Így is maradhatnak benne "hülyeségek".
Vagy ahogy WonderCSabo írta

-
WonderCSabo
félisten
válasz
trisztan94
#2243
üzenetére
Jobb gomb a projekten - > generate java sources. Ha ez lefutott, jobb gomb az adott fájlon - > open java source.
-
Karma
félisten
válasz
trisztan94
#2187
üzenetére
APK projektként kell kezdened, odáig biztos (az M10 HTC-specifikus témacsomag emlékeim szerint).
A hiba alapján nem adtál neki framework.jar-t - ha fut a GenyMotion, akkor a Remote file gombbal elvileg ki tudja szolgálni magát.
-
Karma
félisten
válasz
trisztan94
#2185
üzenetére
Ennyire integrált eszközt nem ismerek másik platformokra, mint a VTS. Némely komponense elvileg kézzel is használható, de nem is nagyon erőltettem sose...
Van még egy tool, a dex2jar, ami megy OSX-en is. Ha a jar megvan, onnan meg a JAD-dal tudsz Java forrásra áttérni; de mondjuk az XML-eket nem tudom hogyan nyerheted ki.
Javaslom a Boot Campet vagy virtualizációt

-
Karma
félisten
válasz
trisztan94
#2182
üzenetére
Ja egyébként azt el se árultad, hogy milyen AVD-t hoztál létre. Az csak egy szükséges feltétele a játékodnak, hogy legyen fenn 18-as SDK és system image, de olyan virtuális telefont kell létrehoznod, ami ezeket használja is.
-
Karma
félisten
válasz
trisztan94
#2182
üzenetére
Nem rossz próbálkozás, de nem is célravezető.
Ajánlanám, hogy tedd fel a Virtuous Ten Studio-t, amivel visszafejtheted forráskód szintig az APK-t, valamit a Genymotiont, ami egy VirtualBox alapú, sokkal gyorsabb emulátort ad, Google API támogatással.
-
SektorFlop
aktív tag
válasz
trisztan94
#1191
üzenetére
Igen tudom, csak gondoltam hátha van mégis valami elmebeteg megoldás. Bár eddig nem találtam semmit, és úgy hiszem nem is nagyon fogok:S
-
Pecc
őstag
válasz
trisztan94
#1197
üzenetére
Én erre gondolok.
Ezt úgy tudom elképzelni, mint egy csúszkát egy amd vagy nvidia driverben, ahol a standard a 0 a dynamic a +50 a movie pedig a -50 érték. Mivel kipróbáltam, standardon tényleg sokkal fakóbb, színtelenebb, mellé téve a saját nem s amoledes készülékemet a fehéregyensúlyon kívül számottevő különbség nem volt.Értem amit próbálsz leírni, de sajnos nem lelek válaszra hozzászólásaidban. Azért köszi

-
Pecc
őstag
válasz
trisztan94
#1195
üzenetére
Nem az teszi, mert ha "normálra van állítva" nincs bekapcsolva ez a dynamic valami, akkor teljesen megegyezik egy "átlagos" kijelzővel, kipróbáltam. Pl, ott a galaxy s3 mini, abban nincs ez a mód, és az is super amoled mégsem olyan színes, hanem ugyanolyan, mint a többi. Ezért érdekelne, hogyan lehet ezt elérni akár a driverben vagy valami apkval, amit a samsung csinál.
-
Karma
félisten
válasz
trisztan94
#1147
üzenetére
Egy ilyen hangfelismerést megcsinálni nem nagy varázslat, csak pár elem kell hozzá: folyamatos hangfelvételt kell csinálni, a beeső hangadaton FFT-t számolni, és figyelni, hogy mikor lesz egyszerre minden frekvencián erős a jel. A taps ugyanis úgy néz ki körülbelül.
Ezek mindegyikére van kész kód StackOverflow-n.
-
Karma
félisten
válasz
trisztan94
#1143
üzenetére
Keystore, nem keystroke. Privát-publikus kulcsokat tároló fájl.
Kiadáskor az APK-t alá kell írni egy RSA kulccsal, ami a fejlesztőt azonosítja. A Play Store-ba feltöltéskor fontos ez, mert ha egy verzió kikerül, onnantól minden frissítést ugyanezzel a kulccsal kell feltenni, vagy hibát dob.
Egyszer kell ilyet generálnod Play Store fiókonként praktikusan, kitöltve a kulcs adatait pontosan.
Az Alias a kulcs neve lesz ebben a keystore-ban, bármi lehet, de praktikus ha egyszerű és könnyen felidézhető. A validity a kulcs érvényessége, ha lejárna, nem telepíthető az APK. Mivel apponként nem változtatható a kulcs, jó távoli időt kell megadni (25 év+). De lehet erre a Play is figyelmeztet.
A kiterjesztés nem számít amúgy. Az AVA hiba sajnos nem tudom mi lehet.
-
fatal`
titán
válasz
trisztan94
#1093
üzenetére
Ha kifizeted neki az adót, akkor biztos működhet. Mert adószámot kér.
-
fatal`
titán
válasz
trisztan94
#1090
üzenetére
Nem éppen. Magyarországról nem lehet fizetős appot feltenni, mert nem tudsz merchant accot regisztrálni.
-
fatal`
titán
válasz
trisztan94
#1085
üzenetére
Ilyen esetben példányszintű változót használj és osztálynév.this.változónévként hivatkozz rá.
Viszont nem itt. Contactlistenerben ne törölj physicsworld elemet, mert több, egyszeri ütközés elején crashelni fog az app.
Egy másik osztályban állítsd be valamilyen flaggel, hogy melyik bodyt akarod törölni és a következő libgdx update ciklusban töröld ki a bodyt és állítsd vissza a flaget (hogy a következő updatenél ne próbálja meg törölni megint).
-
trisztan94
őstag
válasz
trisztan94
#1083
üzenetére
Szerk: (#1084) hunfatal: Köszönöm, megnézem majd

Még egy dolgot kérdeznék

A collision detection eddig így volt megoldva:
Iterator < Body > iter = raindrops.iterator();
while (iter.hasNext()) {
Body raindrop = iter.next();
if (raindrop.y + 64 < 0) {
dropped++;
iter.remove();
}
if (raindrop.overlaps(bucket)) {
dropSound.play();
catched++;
iter.remove();
}
}Amikor összeér a vödör és a csepp, akkor nagyon szépen eltűnt a csepp és lejátszotta a hangot.
Ez amúgy a libgdx "Simple app" tutorialján alapszik, csak átalakítanám box2d-re (gravitáció, "szél" [x tengelyen gravitáció], box2dlight, stbstb miatt)Tehát beraktam ez helyett a box2d-s collision detection-t. így:
Iterator < Body > iter = raindrops.iterator();
while (iter.hasNext()) {
Body raindrop = iter.next();
world.setContactListener(new ContactListener() {
@Override
public void beginContact(Contact contact) {
Fixture fixtureA = contact.getFixtureA();
Fixture fixtureB = contact.getFixtureB();
if ((String) fixtureA.getBody().getUserData() == "bucket" && (String) fixtureB.getBody().getUserData() == "drop" || (String) fixtureA.getBody().getUserData() == "drop" && (String) fixtureB.getBody().getUserData() == "bucket") {
//csepp és vödör ütközik
dropSound.play();
catched++;
iter.remove();
}
if ((String) fixtureA.getBody().getUserData() == "ground" && (String) fixtureB.getBody().getUserData() == "drop" || (String) fixtureA.getBody().getUserData() == "drop" && (String) fixtureB.getBody().getUserData() == "ground") {
//csepp és föld ütközik
dropped++;
iter.remove();
}
}
@Override
public void endContact(Contact contact) {}
@Override
public void preSolve(Contact contact, Manifold oldManifold) {
// TODO Auto-generated method stub
}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {
// TODO Auto-generated method stub
}
});
}Viszont az iter.remove()-ra ezt a hibát dobja:
"Cannot refer to a non-final variable iter inside an inner class defined in a different method"
Ráraktam az iterátorra a "final" modifikációt, akkor nem hibázik, de amikor valami ütközik (csepp - talaj, csepp - vödör), akkor nem az tűnik el amelyik ütközött, hanem egy tök random.
Értitek, hogy mit magyarázok?
Tudok készíteni egy videót a dologról, ha kell.Köszönöm szépen előre is a segítséget!

-
fatal`
titán
válasz
trisztan94
#1083
üzenetére
Nézz körül az andengine fórumon, a box2d ugyanaz.
Ne fixturet hasonlíts, hanem bodyt (fixture.getBody()) és/vagy userDatat.
-
fatal`
titán
válasz
trisztan94
#1080
üzenetére
(String)fixtureA.getBody().getUserData()
és
(String)fixtureB.getBody().getUserData()A fixture.toString() egész mást ad vissza

-
válasz
trisztan94
#1070
üzenetére
Én csak így a partvonalról...
Firefox OS most elvileg pont a webes világgal próbálkozik...annyira nem eredményes...eddig.
Nemrég webes platformról natívra tettek át appokat...most csak a facebook jut eszembe...de volt más is.
Az a pletyka, hogy annyira nem gyors mint kéne...és annyira nem tudnak nagy dolgokat csinálni mint natíva...Ezt csak hallottam...
-
PandaMonium
őstag
válasz
trisztan94
#1053
üzenetére
Mondjuk leellenőrzöd, hogy a touchPos a textúrád koordinátáin belül van-e.
Így ni:
Vector3 touchPos = new Vector3();
touchPos.set(Gdx.input.getX(), Gdx.input.getY()*(-1), 0);
if(touchPos.x > karika.x && touchPos.x < (karika.x+karika.width) && touchPos.y < karika.y && touchPos.y > (karika.y-karika.height)){
karika.setPosition(new Vector2(touchPos.x - 106 / 2, touchPos.y + 238*2));
}
Amit az if-en belül írtam ott nem vagyok benne biztos, hogy léteznek azok a paraméterek olyan formában ahogy írtam őket, de elég logikus a dolog: A karika.x a karika x koordinátája, a karika.y az y koordinátája a karika.width a karika textúrájának szélessége, a karika.height a karika textúrájának magassága.
Elsőre bonyolultnak tűnhet ez a sor de rajzold le magadnak otthon a feltételeket egy papírra, (vizuálisan mindent sokkal könnyebb megérteni) és te is rájössz, hogy pofon egyszerű az egész.
Ja és igen, a feltételben a "touchPos.y < karika.y && touchPos.y > (karika.y-karika.height)" rész csak akkor működik ha felfelé növekvő, lefelé csökkenő koordináta rendszert használsz, máskülönben: "touchPos.y > karika.y && touchPos.y < (karika.y+karika.height)" a nyerő (ugyan az, csak fordítva).
Elég reggel van még, de ha nem írtam el semmit akkor működnie kell így.
-
trisztan94
őstag
válasz
trisztan94
#1046
üzenetére
Még hozzátennék egy gyorskérdést:
van ez a ciklusom:
while(tubeIterator.hasNext()){
tube = tubeIterator.next();
BodyDef tubeDef = new BodyDef();
tubeDef.type = BodyType.StaticBody;
tubeDef.position.set(tube.getPosition().x, tube.getPosition().y);
tubeBody = world.createBody(tubeDef);
tubeLoader.attachFixture(tubeBody, "tube", tubeFixture, tube.getWidth());
tubeBodyOrigin = tubeLoader.getOrigin("tube", tube.getWidth()).cpy();
}itt végigiterálok egy tömbön, melyben a "csődarabok" pozíciója van letárolva. Mindig szélesség / 25 darab csődarab van (mert 25px széles egy db), de ez igazából lényegtelen. Úgy oldottam meg a physics mask rátételét az összes darabra, hogy ebbe a ciklusban mindig létrehozom a BodyDefiníciót, mindig ráerősítem a body-ra azt illetve a fixture-t is minden egyes darabhoz "felcsatolom".
Nem túl memóriazabáló ez így?
Lehet ezt szebben megoldani? -
PandaMonium
őstag
válasz
trisztan94
#1035
üzenetére
Collision detection -ra még mindig a Box2D -t tudom javasolni. Ezzel tudsz collision mask-ot létrehozni a karikádhoz, és ezt a collision maskot egy fájlba tudod exportálni. Jó hír, hogy a LibGDX-hez van plugin ami betölti az ilyen collision maskokat szóval még nem is kell sajátot írnod (bár az sem volna olyan nagy kihívás szerintem). Az, hogy a cső kitakarja a karika jobb oldalát nem kis dió, tekintve, hogy ahogy fel-le mozgatja az ember a karikát a csőnek továbbra is ki kell takarnia. A karikát később kell renderelned mint a csövet, hogy fölötte legyen. A 4 képes megoldást semmiképp sem alkalmaznám, nagy macera feleslegesen, inkább írnék a karika jobb szélére valami maszkot, hogy azt a részt ahol a cső és a maszk találkozik vágja ki a textúrából.

-
PandaMonium
őstag
válasz
trisztan94
#1030
üzenetére
Nem bántás, de ha ennyire nem vagy még képben a játékfejlesztéssel érdemes lenne fellapozni valami könyvet a témával kapcsolatban mielőtt "nagy fába vágod a fejszédet".

-
WonderCSabo
félisten
válasz
trisztan94
#1028
üzenetére
-
WonderCSabo
félisten
válasz
trisztan94
#1026
üzenetére
Nem feltétlenül kell clean. Igen, elvileg ennyi.
-
WonderCSabo
félisten
válasz
trisztan94
#1021
üzenetére
Belemásolod a .jar fájlt a libs mappába. A forráskódot tartalmazó másik jart semmiképpen ne másold be közvetlenül a lib mappába, mert ekkor az APK belerakja feleslegesen. Be lehet csatolni azért a forrást, de picit szarakodni kell.
-
fatal`
titán
válasz
trisztan94
#1018
üzenetére
2D-hez szerintem jobb az AndEngine, igaz, a LibGDX gyorsabb, de sokkal több szop*ssal jár.
-
PandaMonium
őstag
válasz
trisztan94
#1018
üzenetére
Sajnos linkelni nem lehet mert valami nagyon hülye javascriptes módon van megoldva az oldaluk de így tudod megnézni, hogy mivel tud többet a Unity Pro mint a free verziója:
Felmész a Unity oldalára, jobb felső sarokban "Buy", itt pedig a Unity Pro résznél "Compare". Szerintem amúgy jobban jársz ha LibGDX-et használsz, sokkal szabadabban tudsz dolgozni minden korlát nélkül, ráadásul nagyon sokat tudnál tanulni belőle.
-
fatal`
titán
válasz
trisztan94
#1013
üzenetére
AndEngine is opensource, csak doksi nemnagyon van, inkább csak példakódok meg a fórum. Viszont 2D only.
-
PandaMonium
őstag
válasz
trisztan94
#994
üzenetére
A Nurbs görbékhez tudsz saját implementációt írni, nem bonyolult, egy kis google -ezéssel simán megvan 1 óra alatt. A vonalaknak minek id? Úgyértem logikus, hogy egymás után lesznek összekötve, így csak a "lines" nevű list-en végigmész egy for vagy enchaned for loop -al és sorrendben megvan, hogy mi-mivel van összekötve.
Ha mindenképpen kell nekik egy ID (bár nem értem minek) elég ha lekéred a "lines" list méretét a .size() metódussal mielőtt hozzáadod az aktuális line-t, és máris megvan az ID-je amit el tudsz tárolni egy array-ben, vagy külön változóban, esetleg csinálhatsz egy saját class-t ami egy id-t tárol és a hozzá kapcsolódó line-t, getId() és getLine() fügvényekkel lekérhető módon.
Tehát:
int id = lines.size();
lines.add(new Line(new Vector2(xPozicio, yPozicio)));
Remélem érthető a magyarázat.
Szerk.: Mégsem kell kivonni belőle egyet (mert ugye akkor -1ről indulnának az ID-k), kicsit megkavarodtam, kiszerkesztettem a hozzászólásból ezt a részt, hogy ne zavarodj össze.

-
PandaMonium
őstag
válasz
trisztan94
#991
üzenetére
Box2D jó lehetőség, LibGDX-el támogatja is szóval könnyű lenne használni a projektben.
Sőt, a Box2D még a collision detection -t is intézné neked, nem kéne hozzá custom dolgokat írni.
-
PandaMonium
őstag
válasz
trisztan94
#989
üzenetére
Helló.
Azt, hogy a libgdx-nek van-e beépített metódusa erre azt nem tudom de másképp is meg lehet oldani. Nem tudom mennyire konyítasz az OpenGL -hez, de összekötésre a NURBS jó lehet, ráadásul nem is olyan bonyolult megírni. Itt van róla egy bemutató. Ettől függetlenül a randomizáló metóduson okosítani kell mert ahol a képeden van az a nagyon meredek ív felfelé, hát ott ember legyen a talpán aki áthúzza a karikát.
Mind ezek mellé valami nagyon alap fizikai motoron is érdemes elgondolkodni a játék mellé ami azt intézné, hogy a karika amit húznak kilengjen ha túl gyorsan húzzák, vagy visszarántják stb. mert ez sem olyan nehéz, de elég sok realizmust tud kölcsönözni, de ez persze már csak hab a tortán, először az alapok legyenek készen. 
-
Karma
félisten
válasz
trisztan94
#976
üzenetére
Hogy őszinte legyek, nem egészen értem se a kérdésed, se hogy mit akarsz elérni. A RelativeLayoutnak (mint ahogy bármely más ViewGroup típusnak) megvan a maga helye; és közös bennük, hogy View osztályokat tudnak valamilyen elv szerint rendezni.
Ha most a libGDX-szel saját rajzolásod van, ahhoz semmi köze a VG-knek.
Azt csak nagyon remélni tudom, hogy nem View-k tologatásával készítesz játékot - az se nem gyors se nem jó.Szóval egy kis részletet nem bánnék. Vagy egy vázlatot.
-
Ivitz
tag
válasz
trisztan94
#970
üzenetére
CAMERA_FACING_FRONT
CAMERA_FACING_BACK -
SektorFlop
aktív tag
válasz
trisztan94
#970
üzenetére
Hát ha bemész a kamerába akkor van elvileg egy change gomb, de am álltalában elég feltűnő az előlapon a kamera fent valamelyik sarokban, hogy ha van.
-
WonderCSabo
félisten
válasz
trisztan94
#960
üzenetére
-
caindwan
aktív tag
válasz
trisztan94
#958
üzenetére
Ha Eclipse alatt vagy, akkor csinálsz egy új android applikáció projectet és alapból egy Helló world! appot fogsz kapni
-
SektorFlop
aktív tag
válasz
trisztan94
#955
üzenetére
Ilyenre nem is gondoltam volna.
-
trisztan94
őstag
válasz
trisztan94
#954
üzenetére
Nem tudom már szerkeszteni, megoldódott.
Nem a projekt mappája volt kiválasztva a package explorerben, hanem a main activity. Azért valami üzit írhatott volna, hogy oda kattintsak
Köszi a segítséget!
-
SektorFlop
aktív tag
válasz
trisztan94
#951
üzenetére
Eclipse-en belül, Window -> Open perspective -> DDMS
De Windows-os SDK-ban van egy külön inditója a Tools mappában. Am én is fejlesztettem Ubuntu alatt android-ra. Nekem nem volt vele semmi, de sajna annyira nem vagyok Linux pro hogy legyen bármi ötletem is, hogy mi lehet a baj. (Ha egyáltalán a op-nek is van köze a problémához)
-
SektorFlop
aktív tag
válasz
trisztan94
#945
üzenetére
DDMS-ben látod a telót? Ha esetleg a géped nem látja a telót és az a baj van egy ötletem. Bár lehet hülye ötlet, de ha van wifi hálózatod otthon és a teló is csatlakozva van, akkor hagyd az usb kábelt és próbálj meg adb connect-el csatlakozni a telódhoz. Nem tudom, hogy működik valós eszközzel nem próbáltam, én VirtualBox emulátornál használom, ott működik.
Másik ötletem, consolt és logcat-et hesszeld, van hogy elgépel véletlenül valamit az ember manifestben vagy bármilyen xml-ben, amit a fordító se vesz észre. Akkor nem indul még a install sem, már találkoztam ilyennel, egy egy soros kis üzentet írt talán a consol-on.
-
Karma
félisten
válasz
trisztan94
#945
üzenetére
A DDMS perspektíván látod az eszközt? Logcatat ír?
Ha nem, a kerneled látja az ADB imterfészt? Bedugás után érdemes lehet megnézni a dmesg kimenetét, hogy mit lát és mihez kezd vele.Linux alatt csak a szopás van az ilyesmivel... Nem írt semmit/mindent megcsináltál, amit a Google oldala írt? Régen volt, hogy az udev konfigurációjába bele kellett piszkolni pl.
-
fatal`
titán
válasz
trisztan94
#942
üzenetére
USB hibakeresés bekapcsolva? Ismeretlen források bepipálva?
-
Karma
félisten
válasz
trisztan94
#940
üzenetére
Nem is kötelező parancssorból fordítanod

-
Karma
félisten
válasz
trisztan94
#936
üzenetére
Jobbkattolj az alkalmazásprojekteden a Package Explorerben, és ott válaszd a Run as...-t és az Android Applicationt. Akkor megcsinálja a launch configot automatikusan.
Ha nem akarná, akkor File menü Export, és ott tudsz APK-t létrehozni kézzel.
A parancssoros eszközökhöz tényleg a PATH-t kéne beállítani jól, az SDK-d tools, platform-tools mappáinak mindenképp benne kell lennie.
-
válasz
trisztan94
#936
üzenetére
A bundle verziót töltsd le az eclipse-ből, ott lesz apk támogatás.
[link]
Én teljesen láma vagyok ebben, csak egy helló-wörld-öt tudtam csinálni, de azzal a bundle kiadással apk lett a vége. -
fatal`
titán
válasz
trisztan94
#936
üzenetére
Nem vagyok linuxos de gondolom az sdk platform-tools könyvtárának benne kéne lennie a PATH változóban, hogy ismerje a parancsokan.
Ezenkívül a telefonodon be van kapcsolva az USB hibakeresés?
Új hozzászólás Aktív témák
- Steam Deck
- Autós topik
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Futás, futópályák
- Telekom mobilszolgáltatások
- Revolut
- Házimozi belépő szinten
- Sokkal jobb ajánlat lett elődjénél az iPhone 17e
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





Tudok készíteni egy videót a dologról, ha kell.
Lehet ezt szebben megoldani?

