0
何らかの理由で、現在の速度の符号をMATLABで反転しようとすると、何も起こりません。符号反転が機能しない
たとえば、velocity_x = 3、velocity_y = 3(私は円の衝突を描いています)から始めます。チェック条件の内部今
は私が符号を逆にする必要があると私は、次の操作を行います
% This doesn't work:
velocity_x = -velocity_x;
velocity_y = -velocity_y;
これらの表現が動作していないようです。変数リストに-3と表示されているにもかかわらず、ボールはちょうど痙攣し、反対方向には進まない。しかし、単純に数字を入力するとうまくいきます!
% This works perfectly fine:
velocity_x = -3;
velocity_y = -3;
ここでは全体のループです:
velocity_x = 3;
velocity_y = 3;
% While is not commanded to exit the loop
while exit_loop == false
[b1_x_c, b1_y_c] = getCenter(b1);
xMove(b1, velocity_x);
yMove(b1, velocity_y);
if ((b1_x_c + radius + 1) >= WINDOW_WIDTH) || ((b1_y_c + radius + 1) >= WINDOW_HEIGHT)
velocity_x = -1 * velocity_x;
velocity_y = -1 * velocity_y;
elseif ((b1_x_c - radius - 1) <= 0) || ((b1_y_c - radius - 1) <= 0)
velocity_x = (-1) * velocity_x;
velocity_y = (-1) * velocity_y;
end
redraw;
end % of the while loop
Aaaah!あなたが正しい!ありがとうございました! – Micard