5

だから、私は数学に精通しているわけではないので、必要なフィードバックを得たいと思っていました. 手始めに私の目標は、画像でマウスを追いかけることです。フィードバックが欲しいと思っていなかったことがいくつか起こっています。

1) 追跡は非常に厳格で、非常に「角度のある」方法でマウスを追跡し、画面上の設定ポイント (中央の x 軸、中央の y 軸、および対角線) でのみ方向を変更します。

2) 速度を一定にしたいのですが、マウスに近づけるほど画像の動きが速くなります。

3) 画像がマウスに到達すると、マウスの位置に到達して停止するのではなく、「スリングショット」がマウスを通過して、ぼやけた熱狂が生じます。

以上が私の主な懸念事項ですが、誤解していると思われる点があれば教えてください。このベクトル/三角法全体 (すぐに物理学に取り掛かるため) を理解したいと思っています。

def follow (self):
    mouse_pos = pygame.mouse.get_pos()
    diff = (self.xPos-mouse_pos[0], self.yPos-mouse_pos[1])
    vector = math.sqrt(diff[0]**2 + diff[1]**2)
    distance = (self.xPos/vector, self.yPos/vector)

    if (self.xPos, self.yPos) == mouse_pos:
        return
    if mouse_pos[0] >= self.xPos:
        self.xPos += distance[0]
    else:
        self.xPos -= distance[0]
    if mouse_pos[1] >= self.yPos:
        self.yPos += distance[1]
    else:
        self.yPos -= distance[1]

(プログラム全体はここで見ることができますhttp://ideone.com/6OxWLi )

助けてくれてありがとう!

4

1 に答える 1