找到幾種線性遞增找怪的方法鹊漠,不過效率特低几缭,沒有選用。不過感覺挺好玩的伶授。
腳本
//從附件釋放大漠插件并注冊
//PutAttachment "c:\test_game","*.*"
//PutAttachment ".\Plugin", "RegDll.dll"
//call Plugin.Regdll.reg("c:\test_game\dm.dll")
//設(shè)置大漠路徑以及字庫名
Set dm = createobject("dm.dmsoft")
dm.SetPath ("d:")
//dm_ret = dm.SetDict(0,"lanhuo.txt")
//字庫
//綁定當前鼠標位置程序為前臺操作模式
hwnd = dm.GetMousePointWindow()
dm_ret = dm.BindWindow(hwnd,"normal","normal","normal",0)
call 橢圓()
call 圓形()
call 方形()
Sub 橢圓()
Dim x0, n, y0, x, color0, color1
x0 = 800 : n = 1 : y0 = 600 : x = 800
//變量初始化
l = 10
//設(shè)置2點間距離
While x < 1024
//限定橫坐標范圍不超過1024
x = x0 + 4 * (cos(n) + n * sin(n))
y = y0 + 3 * (sin(n) - n * cos(n))
color0 = GetPixelColor(x, y)
dm.moveTo x, y
dm.leftclick
color1 = GetPixelColor(x, y)
If color1 <> color0 Then
dm.LeftClick
Delay 1000
End If
Delay 10
n = n + 0.2
//漸開線參數(shù)增量断序,其中0.2代表點間距,數(shù)值越小糜烹,漸開線散開點間距越小
r = Sqr((x - x0) ^ 2 + (y - y0) ^ 2)
//計算當前點(x,y)到原點(x0,y0)的距離
n = n + l / r
//漸開線參數(shù)增量违诗,其中l(wèi)/r:點距除以半徑,取得2點間相對圓心的角度
//能有效控制掃描點的密度疮蹦,2點間的距離就比較平均
Wend
End Sub
Sub 圓形()
//設(shè)置圓心坐標
x0=800:y0=600
//設(shè)置遞增半徑
rr=20
//設(shè)置點間距
l=20
//初始化角度
n=0
//設(shè)置第一圈半徑
r=30
//畫圓圈數(shù)
For 10
While n<3.1415926*2
//畫圓公式
x=x0+r*cos(n)
y=y0-r*sin(n)
dm.MoveTo x,y
dm.LeftClick
Delay 10
//l/r:點距除以半徑诸迟,取得2點間相對圓心的角度
//能有效控制掃描點的密度,2點間的距離就比較平均
n=n+l/r
Wend
//畫完一圈后重置角度
n=0
//畫完一圈后半徑遞增rr
r=r+rr
Next
End Sub
Sub 方形()
//設(shè)置中心點
x=400:y=300
//設(shè)置2點間距離
v=10
i=1
//循環(huán)20次,即畫20圈
For 20
j=0:k=v
For 2
For i
x=x+j:y=y+k
dm.MoveTo x,y
dm.LeftClick
Delay 10
Next
j=v:k=0
Next
i=i+1:v=v*(-1)
Next
End Sub