시계 반대 방향으로 회전하는 이미지가 있습니다. 그 동안 또는 벽에 닿을 때마다 임의의 방향으로 움직이기를 원합니다. 문제는 내가 할 수 없다는 것입니다.이 문제에 대해 저를 도우십시오.내 이미지를 임의의 방향으로 이동시키는 방법은 무엇입니까?
이private double x;
private double y;
private double speed;
public void move(long dt)
{
double dt_s = dt/1e9;
double dx = speed * dt_s;
double dy = speed * dt_s;
final double right_border = 100;
final double up_border = 100;
final double down_border = 0.0;
final double left_border = 0.0;
x += dx;
if (x >= right_border)
{
x = right_border;
if (y >= down_border)
{
y += dy;
}
}
if (y > up_border)
{
y = up_border;
if (x >= left_border)
{
speed *= -1;
}
}
if (x <= left_border)
{
x = left_border;
if (y <= up_border)
{
y += dy;
}
}
if (y < down_border)
{
y = down_border;
if (x <= right_border)
{
speed *= -1;
}
}
}
당신은 임의의 방향을 원하십니까, 아니면 테두리에서 "튀어 오게"하시겠습니까? – user995048
임의의 방향입니다. – jinHo
라디안 단위의 방향을 지정하고 삼각 함수를 사용하여 델타 x 및 델타 y를 계산하여 주어진 거리만큼 이동시킵니다. –