我正在开发PowerShell GUI,我正在制作一些控件项目动画。我可以按照我想要的方式工作,但我希望它能减速并且更加谨慎。
据我所知,在许多语言中,它与时钟速度有关,并且不会发生变化。大多数在线资源都与加速脚本或程序有关。
举一个我正在谈论的例子:
$button.Add_MouseEnter({
0..30 | %{
$button.Location = "$_,100"
}
})
$button.Add_MouseLeave({
30..0 | %{
$button.Location = "$_,100"
}
})
当鼠标悬停在按钮上时,此按钮将向右移动30个单位,当鼠标离开按钮时,它将向左移动30个单位到原始位置。
对我来说,问题是迭代31个数字(0..30
)非常快,并且它会在动画中捕捉。我想让特定的事件动作执行得更慢,但问题是,如果我要扩展迭代,它会将按钮进一步推出,这不是我需要的。
我昨晚躺在床上,我意识到这可能有效,但我想知道在PowerShell中是否还有其他方法可以实现这一点。
0..5000 | %{
if($_.ToString().EndsWith(00)) {
$increment++
$button.Location = "$increment,100"
}
}
我尝试将其集成到脚本中,但它大大降低了性能(而不是使用5000,我使用了50000),因此,我全神贯注地寻求建议。
谢谢!