Användarprofil

Uppgifter
Användarnamn
Email
Besök -
Hemsida Ingen
Plats (stad)
Senaste besök 01:00 - 1:a Januari 1970
Poster i forumet
Varningar
Grupp
Medlem sedan 01:00 - 1:a Januari 1970
Artiklar och filer
Den här användaren har inga artiklar eller filer

Avatar


Presentation av

Den här användaren har inte skapat någon personlig presentation.

Senaste inläggen i forumet

kollisions detector
att den retunerar vilken sida som som träffar är för att jag ska veta hur den ska studsa t.ex.:
om botten träffar så ska man minska y-positionen och om toppen träffar så ska man öka y istället.

den retunerar 2 och 4 fast det inte finns något att studsa mot

den första varianten på gamedev bygger min kod på. Men då kan man inte ha flera objekt som studsar runt.

hela koden:
http://david.dufberg.se:82/test.cpp http://david.dufberg.se:82/main.h

Postad 21:19 - 29:e April 2006
kollisions detector
jag har alltid trott att man kunde göra så Smiley. men jag har ändrat som du sa och nu retunerar den en massa 2:or och 4:or.
Det som jag har ändrat:
  1. if (left2 < right1)
  2. {
  3. if (top1 < bottom2 || bottom1 > top2) // if object2 is not over or under object1
  4. return 4; // Kolliderar med vänster sida
  5. }
  6. if (right2 > left1)
  7. {
  8. if (top1 < bottom2 || bottom1 > top2)
  9. return 2; // Kolliderar med höger sida
  10. }
  11. if (bottom2 > top1)
  12. {
  13. if (right1 > left2 || left1 < right2) // if object2 is not to the left or right of object1
  14. return 3; // Kolliderar med botten
  15. }
  16. if (top2 < bottom1)
  17. {
  18. if (right1 > left2 || left1 < right2)
  19. return 1; // kolliderar med toppen
  20. }


Postad 17:12 - 29:e April 2006
kollisions detector
hej

jag har lite problem med min kollisions detecor som jag håller på att skriva. jag har läst lite på gamedev.com (http://www.gamedev.net/reference/articles/article735.asp) men jag får det inte att fungera.
collision-funktionen:
  1. int collision(int object1, int object2)
  2. {
  3. int left1, left2;
  4. int right1, right2;
  5. int top1, top2;
  6. int bottom1, bottom2;
  7. left1 = objects[object1].x;
  8. left2 = objects[object2].x;
  9. right1 = objects[object1].x + objects[object1].w;
  10. right2 = objects[object2].x + objects[object2].w;
  11. top1 = objects[object1].y;
  12. top2 = objects[object2].y;
  13. bottom1 = objects[object1].y + objects[object1].h;
  14. bottom2 = objects[object2].y + objects[object2].h;
  15. if (left2 < right1)
  16. if (top1 < bottom2 || bottom1 > top2) // if object2 is not over or under object1
  17. return 4; // object2 kolliderade med vänster sida
  18. else if (right2 > left1)
  19. if (top1 < bottom2 || bottom1 > top2)
  20. return 2; // object2 kolliderade med höger sida
  21. else if (bottom2 > top1)
  22. if (right1 > left2 || left1 < right2) // if object2 is not to the left or right of object1
  23. return 3; // object2 kolliderade med botten
  24. else if (top2 < bottom1)
  25. if (right1 > left2 || left1 < right2)
  26. return 1; // object2 kolliderade med toppen
  27. return 0;
  28. }


edit:
glömde skriva lite saker:
funktionen retunerar hela tiden hela tiden 4 (att den kolliderar med vänster sida).

Postad 12:18 - 29:e April 2006

Skicka meddelande
Läs s blog