@Daniil1111

Как сделать чтобы мяч отбивался?

Есть код игры:

float x,y,ex,ey;
int score;
float vx=10;
float vy=12;
float a,b;
int o=0;
int bo=0;

void setup(){
  size(displayWidth, displayHeight);
  ex = random(0,width);
  ey = 1140;
  a=ex;
  b=250;
 
}
void draw(){
  background(0,177,255);
  noStroke();
  ex+=vx;
  ey+=vy;
  a=ex;
 
  
  
  fill(255);
  ellipse(ex,ey,50,50);
  noFill();
  
  
  x += (mouseX -20-x)/5;
  y = height-150;
  
  a += (-20-a)/5;
  b = height -1900;
  
  fill(0,255,0);
  rect(x,y,180,50);
  noFill();
  if (x-ex<180&&x-ex>-180&&y-ey<20&&y-ey>-80){
   vy=vy*(-1);
    }
    
    
  fill(255,0,0);
  rect(a,b,180,50);
  noFill();
  

if (a-ex<180&&a-ex>-1800&&b-ey<50&&b-ey>-80){
   vy=vy*(-1);
    }
  
  if(ey>2300){
    bo+=1;
  }
  if(ey<200){
    o+=1;
  }
  
  if (ex>1100||ex<0){
    vx=vx*(-1);
  }
  if(ey>2300||ey<200){
    ey=1040;
    ex=540;
  }


  fill(0,0,255);
  rect(0,0,1200,150);
  noFill();
  fill(255);
  rect(220,25,150,100);
  rect(760,25,150,100);
  noFill();
  fill(255,0,0);
  textSize(70);
  text(bo, 810,100);
  noFill();
  fill(0,255,0);
  textSize(70);
  text(o, 270,100);
   
}
в

Это игра про две платформы и мяч.

6389f2af5b0c0069371926.png

6389f2ce91ca8356088249.png

Если попытаться отбить мяч боком платформы, то он просто может пройти через бок платформы и из другого бока платформы выйти.

Как сделать так чтобы мяч отбивался от бока платформы?
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 1
@SanyaJohn
Чтобы мяч отбивался от платформы надо сделать проверку попадания мячика на край платформы, желательно с 4х сторон. Чтобы мяч не застревал в платформах и т.п. проверку коллизий делать с шагом 1 пиксель.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы