Forum huvudsida -> Programmering -> c++ SDL kollitionshanterare, hjälp mig
Sidor: 1
seal | 04:53 - 25:e November 2007 | Post #1 | |
Medlem Inlägg: 32 Skicka PM |
Tjenare. Håller på att lära mig c++ och SDL, men nu har jag fastnat med min kollitionshanterare. Såhär ser den ut:
Alla variablar är väl ganska självförklarande men är det något ni funderar över så skriv. Alltså, om man kolliderar i ett objekt så ska det ta stopp. Edit; Kanske ska skriva vad som är fel också . Jo när jag förflyttar mitt objekt till höger och vänster sida om "väggen" så fungerar det fint. Min gubbe stannar upp. Felet är när jag går emot över och undersidan, då hamnar gubben på höger eller vänstersidan av objektet. Senast redigerad 05:06 - 25:e November 2007 |
FunkyChicken | 13:00 - 25:e November 2007 | Post #2 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Ja, det är väl inte så konstigt? Du har ju bara intPlayerX = (intObjX - imgChar->w); och intPlayerX = intObjX + intObjW; Såklart flyttar sig inte player i Y-led om du inte ändrar på Y-variabeln... Det framgår ju tom av kommentarerna att detta bara gäller X-axeln? För övrigt har du äckligt mycket paranteser i din kod |
seal | 13:21 - 25:e November 2007 | Post #3 | |
Medlem Inlägg: 32 Skicka PM |
Jo, jag vet, men jag vet inte hur jag ska utforma en ifsats där jag kollar just Y axeln. Ja, jag har många paranteser, jag tycker det blir lättare att läsa så . |
FunkyChicken | 13:35 - 25:e November 2007 | Post #4 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Det är väl i princip bara att byta ut alla x mot y och w mot h... |
seal | 14:05 - 25:e November 2007 | Post #5 | |
Medlem Inlägg: 32 Skicka PM |
Citat av FunkyChicken:Det är väl i princip bara att byta ut alla x mot y och w mot h... Jag har gjrt om lite, inte gjort klart det än då jag har ännu mer funderingar. Såhär ser koden ut just nu:
Nu gjorde jag under och ovansidan komplett först innan jag skulle testa vänster och högersidan. Felet här (vilket jag förstår varför) är att går jag emot under eller översidan skickas jag till högersidan av objektet. Detta är ju pga att if satsen för högensidan stämmer ju. Några tips om hur jag kan fortsätta? EDIT; Jag har gjort om lite och kollar nu istället ifall man är utanför alla objekt och isf returnerar jag true. Ifall jag är innanför returnerar jag false och x och y kordinaterna för spelaren uppdateras inte. Såhär ser koden ut:
Allt fungerar tipptop, F-RUTOM att jag har en variabel med värdet för spelarens hastighet. Ifall denne är 10 så hoppar alltså karaktären 10 "steg" per knapptryckning. Problemet är att med detta så hamnar jag 10 "hopp" ifrån objektet. Hur kan jag lösa detta? Några förslag? Senast redigerad 15:58 - 25:e November 2007 |
Sidor: 1
Forum huvudsida -> Programmering -> c++ SDL kollitionshanterare, hjälp mig
Du får inte posta i den här tråden | Till toppen
Datum
2024-04-29 10:06
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.