Hirdetés
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Gurulunk, WAZE?!
- Luck Dragon: Asszociációs játék. :)
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Parci: Milyen mosógépet vegyek?
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- bambano: Bambanő háza tája
Új hozzászólás Aktív témák
-
Tomi_78
aktív tag
Sziasztok!
Az volna a kérdésem, hogy tud-e valaki olyan labdapattogtató algoritmust, amellyel nem áll be a képernyőn pattogó labda egy útvonalra?
Most Lazarusban (FreePascal) készítek egy olyan játékot, amelyben főszerepet kap a labdapattogás-pattogtatás, és ezeket a kódokat használom hozzá:labdakovx:=labda.xhely+(labda.xirany*labda.sebessege);
labdakovy:=labda.yhely+(labda.yirany*labda.sebessege);if utkozesbaljobb() then
labda.xirany:=labda.xirany*-1;else if utkozesfentlent() then
labda.yirany:=labda.yirany*-1;
if labdautkozik=false then
begin
labda.xhely:=labdakovx;
labda.yhely:=labdakovy;
end;Ez az első módszer nagyon szépen mozgatja a labdát, de túl szabályosan és ezért nem igazán tér el egy adott pályáról a labda.
Próbáltam ezt is:labdakovx:=round(labda.xhely+cos(degtorad(360-labda.irany))*labda.sebessege);
labdakovy:=round(labda.yhely+sin(degtorad(360-labda.irany))*labda.sebessege);Ami után ütközésnél:labda.irany:=labda.irany-(round(random(180))+90);De ez meg már nagyon furcsa szögekben téríti el az ütközést követően, ami nem életszerű.
Szóval az volna a kérdésem, hogy e fenti két módszer közül valamelyiket ki lehet-e egészíteni valamivel (egy újabb változóval, stb.), hogy a labda úgy pattogjon, hogy ütközés után ne mindig ugyanabba a szögbe álljon be, hanem kicsit módosuljon a pályája. Persze az sem jó, ha teljesen vízszintes vagy függőleges irányba terelődik.
Azt még próbáltam a legelső módszernél, hogy ütközés után pl.:labda.xirany:=labda.xirany*(-1*round(random(3)+1));
hogy hátha ez kicsit változtat, de ettől kis idő elteltével elkezdett föl-le pattogni a képernyő teteje és alja között, ha éppen úgy ütközött.
Szó ami szó, nem akarom sem a kereket újra feltalálni, sem megoldhatatlan feladaton futni köreimet, ezért kérdezem, hogy ez megoldható-e ezekkel vagy van erre egy másik megoldás?
Savior, te pl, hogy oldottad meg a labdapattogást a flipper és gombfoci játékodban?
Új hozzászólás Aktív témák
Hirdetés
- GOPRO MAX 360 szett + 2 akku + duplatöltő + tartozékok
- Bomba ár HP Pro X360 11 G1 - Intel N3350 I 4GB I 64GB SSD I 11,6" HD Touch I Cam I W11 I Gari
- Bomba ár! Lenovo ThinkPad T430s - i5-3GEN I 8GB I 320GB I 14" HD+ I Cam I W10 I Garancia!
- Bomba ár! Lenovo ThinkPad T430 - i5-3GEN I 8GB I 256SSD I 14" HD I Cam I W10 I Garancia!
- Logitech POP Keys mechanikus vezeték nélküli billentyűzet - Kailh Speed Bronze Switch
- Bomba ár HP Pro X360 11 G1 - Intel N3350 I 4GB I 64GB SSD I 11,6" HD Touch I Cam I W11 I Gari
- HIBÁTLAN iPhone 12 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4655
- Azonnali készpénzes nVidia RTX 3000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Samsung Galaxy A56 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó 1db Nokia steel hr hibrid okos óra dobozával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
