(在 Gosu 中使用 Ruby)
我有一个单点对象,代表一个朝某个方向看的人。
我有三个变量,,x
(y
人的二维坐标)和@angle
(他面对的方向,以度为单位)。如果我想找到x
与该人前面的y
距离正好为d
(让我们设为 20)的点(在其他代码中,在他所面对的方向上的话),我该如何计算呢?
def move
# Move
@x += @vel_x
@y += @vel_y
# HELP
@point_in_front_of_me_x = # some_function_for_x(@x, @y, @angle)
@point_in_front_of_me_y = # some_function_for_y(@x, @y, @angle)
# Prevent window exit
@x %= @window.width
@y %= @window.height
# Simulate air resistance
@vel_x *= 0.95
@vel_y *= 0.95
end
如果您知道 Gosu 库或手动方式,都可以。如果您两者都知道并且可以指出好处,那就更好了!