Kezdőoldal » Számítástechnika » Programozás » Hogyan számolhatom ki ez?

Hogyan számolhatom ki ez?

Figyelt kérdés

Képzeljétek el hogy van egy 2d objektum kör vagy téglatest mindegy. Erre fogunk ráejteni köröket és téglatesteket.

Amikor ráesnek akkor kicsit túl esnek a felületén és csak ez után állnak meg. És én vissza akarom állítani ezeket a felületre. A az a pozíciót akarom kiszámolni a felületnek amit akkor kapok meg ha a túl esett tárgy mozgási irányát visszafordítom és visszafele mozgatom így megkapom a kívánt felületet ahol érintkeznek éppen de nincs már túl esve rajta. De hogyan számoljam ezt ki.


Csak ezeket használhatom:

mozgási irány pl: Vector2(0,1);

contact pontok

és az ütközött objektum pozícióinak külömbségvectora

Külömbség vec= RáesőObj.pos - Föld.pos


Na ha a fenti esetben ebbe az irányba 0,-1 elkezdem mozgatni(szal visszafele) az objektumot akkor lesz egy olyan pillanat amikor érintkeznek majd egymással de nincs túlmenve rajta sem az egyik sem a másik ez az a pozíció amit tudnom kell. Hogyan?


2018. jún. 8. 23:45
1 2 3
 1/25 anonim ***** válasza:

Se füle se farka.

Úgy látszik ez valami követelmény itt.

2018. jún. 9. 00:01
Hasznos számodra ez a válasz?
 2/25 A kérdező kommentje:
De hát mit nem értesz rajta?
2018. jún. 9. 00:03
 3/25 anonim ***** válasza:

Ebben az egészben SEMMI nincs értelmesen leírva. Mi akar lenni a contact pont? Hogyan kell értelmezni az objektumok pozicióját? A középpontjuk pozíciójaként?


"A az a pozíciót akarom kiszámolni a felületnek amit akkor kapok meg ha a túl esett tárgy mozgási irányát visszafordítom és visszafele mozgatom így megkapom a kívánt felületet ahol érintkeznek éppen de nincs már túl esve rajta."


Akkor te most pozíciót vagy felületet akarsz?


Ebben az egészben semmi nem jön át azon kívül, hogy te *valamit* nagyon szeretnél megoldani.

2018. jún. 9. 03:00
Hasznos számodra ez a válasz?
 4/25 anonim ***** válasza:

"Hogyan számolhatom ki ez?"

Gondolom ez "Hogyan számolhatom ki ezt?" akart volna lenni. Már ez sem sikerült.


"Képzeljétek el hogy van egy 2d objektum kör vagy téglatest mindegy."

A kör 2D objektum. A téglatest nem.

Már innen nincs értelme a kérdésnek.


"Erre fogunk ráejteni köröket és téglatesteket."

Mit jelent a ráejtés? Honnan, hogyan? Hogy ejtesz rá 2D-s valamire egy másik 2D-s valamit? Értelmetlen.


"Amikor ráesnek akkor kicsit túl esnek a felületén és csak ez után állnak meg."

Miért esnek túl? Minek a felületén? Mennyire esnek túl? Mikor állnak meg? Mi miatt állnak meg?


"És én vissza akarom állítani ezeket a felületre. A az a pozíciót akarom kiszámolni a felületnek amit akkor kapok meg ha a túl esett tárgy mozgási irányát visszafordítom és visszafele mozgatom így megkapom a kívánt felületet ahol érintkeznek éppen de nincs már túl esve rajta. De hogyan számoljam ezt ki."

Kérdő mondatok végére kérdőjelet kell írni a magyar nyelvben.

Mi ez a túlesés/visszaállítás marhaság? Csináld úgy, hogy ne "essen túl".



"Csak ezeket használhatom:

mozgási irány pl: Vector2(0,1);

contact pontok

és az ütközött objektum pozícióinak külömbségvectora

Külömbség vec= RáesőObj.pos - Föld.pos"

Miért csak ezeket? Mik ezek? Ki tiltja meg, hogy "mást" használj? Mi akar lenni a "Föld"?


"Na ha a fenti esetben ebbe az irányba 0,-1 elkezdem mozgatni(szal visszafele) az objektumot akkor lesz egy olyan pillanat amikor érintkeznek majd egymással de nincs túlmenve rajta sem az egyik sem a másik ez az a pozíció amit tudnom kell. Hogyan?"

Érintkező alakzatok pozícióit akarod kiszámolni? Akkor minek ez a sok bullshit köré?


Sok éves másokkal együtt dolgozott tapasztalatommal azt tudom javasolni, hogy ha valaki egy értelmes mondatot nem tud megfogalmazni és másoknak átadni annak nem szabad foglalkoznia a programozással. Fölösleges, haszontalan, káros.

A programozáshoz precizitás, absztrakciós készség, szigorú szabályoknak megfelelés szükséges.

Egyszerűen nem alkalmas mindenki erre, ahogy a fizikai munkát sem bírja mindenki.

2018. jún. 9. 03:03
Hasznos számodra ez a válasz?
 5/25 A kérdező kommentje:

Van 2 collider2d egyik a játékos objektumé másik a groundé amire ráugorhat vagy futkározhat rajta.


Ha a játékos objek ugrik akkor akkor elkezd hatni rá a gravitáció és ezért átmegy majd esésbe.


Ráesik for esni a ground ra de kicsit túl eshet a ground collider felületén ha gyors az esési sebessége és így a játékos beragad.


Erre a beragadás problémára akarok írni egy metódust. Képzeletében könnyű a amit akarok de megmondani ezt a számítógépnek már nem.


Én eltároltam az irányát a beragadó játékosnak. Irány alatt azt az irányt értem amilyen irányban haladt eggy kerettel az ütközés észlelése előtt.

Ennek az iránynak az ellentétes iránya az az irány amellyen az a pozíció található ahol a játékos először érintkezett a ground colliderrel mielőtt beleesett annyira hogy beleragadt, és ez a pozíció a térben egy olyan pontot jelöl ahol a ground collider és a játékos collider élei érintették egymást először. És ez kell nekem.

2018. jún. 9. 11:34
 6/25 anonim ***** válasza:

Bocs az előbbi elb#szott linkért, itt a helyes:

[link]


(A gyakori fejlesztőknek meg gratulálok hosszú szöveg formázás megoldásukhoz)

2018. jún. 9. 11:59
Hasznos számodra ez a válasz?
 7/25 anonim ***** válasza:

"Képzeletében könnyű a amit akarok de megmondani ezt a számítógépnek már nem."

Nem csodálom, hiszen nekünk sem sikerül magyarul átadni.


A sebesség egy vektor és nem csak iránya, hanem nagysága van.


Egyébként szerintem borzasztóan nézne ki ha össze vissza rángatnád a karaktert, ha túl csúszik a platform szélén.

Úgy szokás ezt megoldani, hogy le lehet a platformról lógni valamennyit, teljesen fölösleges visszahúzogatni a karaktert.

Lásd: [link]

2018. jún. 9. 12:28
Hasznos számodra ez a válasz?
 8/25 A kérdező kommentje:

"Egyébként szerintem borzasztóan nézne ki ha össze vissza rángatnád a karaktert, ha túl csúszik a platform szélén.


Úgy szokás ezt megoldani, hogy le lehet a platformról lógni valamennyit, teljesen fölösleges visszahúzogatni a karaktert."


Nem ezt akarom ez nem okoz beragadást. Ez amit írtál természetes platformoknál és én is így akarom.


Olyan esetről beszélek amikor a játékos collidere bele megy a platform colliderének területébe és így bele ragad. Beleragadás akkor történik mikor két collider elkezdi metszeni egymást.bele esnek egymás területébe.

Ez akkor fordulhat elő ha nagy sebességen van mozgatva a játékos. És ha ez megtörténik én vissza akarom állítani egy megfelelő pozícióra.


Pl a linkelt képen képzeld el hogy a Márió ugyan ott áll ahol a képen is csak a lábai benne vannak annak a

ground collidernek a területében(szal nem a kerületén áll.) és ezért a játékos nem tudna vele tovább mozogni mert így bele van ragadva mintha fal venné körbe minden oldalról.


Ezért kell visszaállítani a tetejére ha a linkelt képet vesszük példának.

2018. jún. 9. 13:16
 9/25 anonim ***** válasza:

Alakul ez.

És ez olyan nehéz?

Az egyik objektum legszéle kisebb-/nagyobb-egyenlő koordinátán kell legyen, mint a másik objektum legszéle.

2018. jún. 9. 13:29
Hasznos számodra ez a válasz?
 10/25 A kérdező kommentje:

Itt ez a kép:

[link]

A nagy fehér kör és a hosszú fehér téglalap amin a játékosok állhatnak. A kisebb fehér négyzet és kör pedig a játékosok colliderjei. A zöld vonal az az iránt jelzi amely irányba a játékos mozgott mielőtt beragadt. Sárga alakzatok pedig azt a pozíciót mutassák ahová vissza kell állítani őket az az javított pozíciói a játékos colliderjeinek. És az a pont ahol a sárga és a talajnak vett colliderok érintkeznek az a pozíció kell nekem. Ez a pozíciót akarom kiszámolni a beragadásuk után hogy aztán vissza állíthassam őket.

2018. jún. 9. 13:36
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!