Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. public boolean InterseccionEntreSprites(Sprite Sprite1, Sprite Sprite2){
  2. boolean HayInterseccion=false;
  3.  
  4.  
  5. //Determino los bordes de cada Sprite
  6. Float Sp1Arriba, Sp1Abajo, Sp1Derecha, Sp1Izquierda, Sp2Arriba,Sp2Abajo, Sp2Derecha, Sp2Izquierda;
  7.  
  8. Sp1Arriba=Sprite1.getPositionY() + Sprite1.getHeight()/2;
  9. Sp1Abajo=Sprite1.getPositionY() - Sprite1.getHeight()/2;
  10. Sp1Derecha=Sprite1.getPositionX() + Sprite1.getWidth()/2;
  11. Sp1Izquierda=Sprite1.getPositionX() - Sprite1.getWidth()/2;
  12. Sp2Arriba=Sprite2.getPositionY() + Sprite2.getHeight()/2;
  13. Sp2Abajo=Sprite2.getPositionY() - Sprite2.getHeight()/2;
  14. Sp2Derecha=Sprite2.getPositionX() + Sprite2.getWidth()/2;
  15. Sp2Izquierda=Sprite2.getPositionX() - Sprite2.getWidth()/2;
  16.  
  17. //Me fijo si el vértice superior derecho de Sp1 está dentro de Sp2
  18. if (Sp1Arriba>=Sp2Abajo && Sp1Arriba<=Sp2Arriba &&
  19. Sp1Derecha>=Sp2Izquierda && Sp1Derecha<=Sp2Derecha) {
  20.  
  21. HayInterseccion=true;
  22. Log.d("IntEntSprites","Intersección caso 1");
  23. }
  24. //Me fijo si el vértice superior izquierdo de Sp1 está dentro de Sp2
  25. if (Sp1Arriba>=Sp2Abajo && Sp1Arriba<=Sp2Arriba &&
  26. Sp1Izquierda>=Sp2Izquierda && Sp1Izquierda<=Sp2Derecha) {
  27. HayInterseccion=true;
  28. Log.d("IntEntSprites","Intersección caso 2");
  29. }
  30. //Me fijo si el vértice inferior derecho de Sp1 está dentro de Sp2
  31. if (Sp1Abajo>=Sp2Abajo && Sp1Abajo<=Sp2Arriba &&
  32. Sp1Derecha>=Sp2Izquierda && Sp1Derecha<=Sp2Derecha) {
  33. HayInterseccion=true;
  34. Log.d("IntEntSprites","Intersección caso 3");
  35. }
  36. //Me fijo si el vértice inferior izquierdo de Sp1 está dentro de Sp2
  37. if (Sp1Abajo>=Sp2Abajo && Sp1Abajo<=Sp2Arriba &&
  38. Sp1Izquierda>=Sp2Izquierda && Sp1Izquierda<=Sp2Derecha) {
  39. HayInterseccion=true;
  40. Log.d("IntEntSprites","Intersección caso 4");
  41. }
  42. //Me fijo si el vértice superior derecho de Sp2 está dentro de Sp1
  43. if (Sp2Arriba>=Sp1Abajo && Sp2Arriba<=Sp1Arriba &&
  44. Sp2Derecha>=Sp1Izquierda && Sp2Derecha<=Sp1Derecha) {
  45. HayInterseccion=true;
  46. Log.d("IntEntSprites","Intersección caso 5");
  47. }
  48.  
  49. //Me fijo si el vértice superior izquierdo de Sp1 está dentro de Sp2
  50. if (Sp2Arriba>=Sp1Abajo && Sp2Arriba<=Sp1Arriba &&
  51. Sp2Izquierda>=Sp1Izquierda && Sp2Izquierda<=Sp1Derecha) {
  52. HayInterseccion=true;
  53. Log.d("IntEntSprites","Intersección caso 6");
  54. }
  55. //Me fijo si el vértice inferior derecho de Sp1 está dentro de Sp2
  56. if (Sp2Abajo>=Sp1Abajo && Sp2Abajo<=Sp1Arriba &&
  57. Sp2Derecha>=Sp1Izquierda && Sp2Derecha<=Sp1Derecha) {
  58. HayInterseccion=true;
  59. Log.d("IntEntSprites","Intersección caso 7");
  60. }
  61. //Me fijo si el vértice inferior izquierdo de Sp1 está dentro de Sp2
  62. if (Sp2Abajo>=Sp1Abajo && Sp2Abajo<=Sp1Arriba &&
  63. Sp2Izquierda>=Sp1Izquierda && Sp2Izquierda<=Sp1Derecha) {
  64. HayInterseccion=true;
  65. Log.d("IntEntSprites","Intersección caso 8");
  66. }
  67. Log.d("IntEntSprites", "Hay intersección:"+HayInterseccion);
  68.  
  69. return HayInterseccion;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement