高手进,按键精灵怎么实现:鼠标平滑移动?
以下是我的源码:x=200a=0.5b=1KeyDown65,1ForxMoveR-a,0EndForKeyUp65,1//======================K...
以下是我的源码:
x=200
a=0.5
b=1
KeyDown 65,1
For x
MoveR -a,0
EndFor
KeyUp 65,1
//======================
KeyDown 68,1
For x
MoveR b,0
EndFor
KeyUp 68,1
//======================
KeyDown 65,1
For x
MoveR -b,0
EndFor
KeyUp 65,1
...下面是重复的,
我的问题是,我现在平移的位移很小,速度较快.
我想保持这个平移速度,增加平移位移.
但是一旦b太大,平移平滑程度就很差,
一旦x太大,循环速度大大下降,平移速度变得很慢.
我想要的效果是,增加现在的平移距离,保持很好的平滑程度.
补充一点,按键精灵的循环是不是只有for和while,哪个效率更高?
同志们,懂多少就说多少吧,如果不会,就随便教我点别的,我分照样给的.
好多我就多加分! 展开
x=200
a=0.5
b=1
KeyDown 65,1
For x
MoveR -a,0
EndFor
KeyUp 65,1
//======================
KeyDown 68,1
For x
MoveR b,0
EndFor
KeyUp 68,1
//======================
KeyDown 65,1
For x
MoveR -b,0
EndFor
KeyUp 65,1
...下面是重复的,
我的问题是,我现在平移的位移很小,速度较快.
我想保持这个平移速度,增加平移位移.
但是一旦b太大,平移平滑程度就很差,
一旦x太大,循环速度大大下降,平移速度变得很慢.
我想要的效果是,增加现在的平移距离,保持很好的平滑程度.
补充一点,按键精灵的循环是不是只有for和while,哪个效率更高?
同志们,懂多少就说多少吧,如果不会,就随便教我点别的,我分照样给的.
好多我就多加分! 展开
1个回答
展开全部
在循环里面加 Delay 5//延时5毫秒
这两个循环,程序结构不复杂的话 效率差不多厄,复杂性是同阶的.
如果想增加效率的话,把所有的x,a,b换成数字。因为读取变量需要时间比直接给出一个数大。不过这些都可以忽略不计的。
//例子:用鼠标画一个圆
Sub 画圆
r=300:x0=512:y0=384:x=0:y=0:n=0
While n<3.1415926*2
x=x0+r*cos(n)
y=y0-r*sin(n)
MoveTo x y
Delay 5
n=n+0.03
EndWhile
Return 画圆
这两个循环,程序结构不复杂的话 效率差不多厄,复杂性是同阶的.
如果想增加效率的话,把所有的x,a,b换成数字。因为读取变量需要时间比直接给出一个数大。不过这些都可以忽略不计的。
//例子:用鼠标画一个圆
Sub 画圆
r=300:x0=512:y0=384:x=0:y=0:n=0
While n<3.1415926*2
x=x0+r*cos(n)
y=y0-r*sin(n)
MoveTo x y
Delay 5
n=n+0.03
EndWhile
Return 画圆
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询