学习游戏辅助制作:模拟鼠标真实移动直线+转折

2025-10-19 09:01:23

1、代码1    作者:VBS技术者

//tD几毫秒移动一点

call  鼠标慢慢跑(100,100,800,600,5)

Sub 鼠标慢慢跑(X1,Y1,X2,Y2,tD)

    Dim xl,yl,xc,yc,endx,endy,sx,sy

    Dim FORC,i

    xl=abs(clng(X1)-clng(X2))

    yl=abs(clng(y1)-clng(y2))

    EndX = X2

    EndY = Y2

    XC=1

    YC=1

    sx=x1

    sy=y1

    If clng(X1)>=clng(X2) Then

        EndX = X1

        xc = -1

    End If

    If clng(Y1)>=clng(Y2) Then

        EndY = Y1

        yc = -1

    End If 

    If xl>yl Then

        FORC = xl

    Else 

        FORC = yl

    End If 

    For i = 1 To FORC+1

        LeftDown 1

        MoveTo sx, sy

        LeftUp 1

        Delay clng(tD)

        sx = sx + xc

        sy = sy + yc

        If sx=endx Then

            xc = 0

        End If

        If sy=endy Then

            yc=0

        End If

    Next 

End Sub

2、代码2    作者:dinwidi 

//点到点直线移动,先走x轴横坐标直线,然后转折走y轴纵坐标直线,直至终点 (这是游戏里常用的单步移动的原理)

Call 老鼠慢慢跑(100,100,800,600,5)

Sub 老鼠慢慢跑(x1, y1, x2, y2, t)

   MoveTo x1,y1

    i = 0

    For abs(x1 - x2)

        LeftDown 1

        MoveTo x1+(x2-x1)/abs(x2-x1)*i,y1

        Delay t

        LeftUp 1

        i = i + 1

    Next

    i = 0

    For abs(y1 - y2)+1

        LeftDown 1

        MoveTo x2, y1 + (y2 - y1) / abs(y2 - y1) * i

        LeftUp 1

        Delay t

        i = i + 1

    Next

End Sub

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢