4

ここに画像の説明を入力

これは私が見つけた式です:

r = v − [2 (n · v) n]

こんな感じで応募しました

    //Calculating normal
    nx = 350 -  SmileyReds[i].xpos ;
    ny = 350 -  SmileyReds[i].ypos ;

  //new calc
   v_newx = SmileyReds[i].xspeed - (2 *( nx * SmileyReds[i].xspeed + ny * SmileyReds[i].yspeed ) ) * nx;
   v_newy = SmileyReds[i].yspeed - (2 *( nx * SmileyReds[i].xspeed + ny * SmileyReds[i].yspeed ) ) * ny;

   SmileyReds[i].xspeed = v_newx;
   SmileyReds[i].yspeed = v_newy;

しかし、ボールはバウンドするのではなく、境界にぶつかると消えます。

完全なソースとプレビューhttp://jsfiddle.net/gj4Q7/4/

お時間をいただきありがとうございます。ヒントは大歓迎です。

4

1 に答える 1