如何在livecode中的按钮上创建鼠标悬停效果?

时间:2015-10-25 05:09:11

标签: livecode

我一直在寻找LiveCode中的鼠标悬停效果,但我还没有得到它。 我想得到一个像这个链接的效果: Creating a Mouseover Fade Effect with jQuery

这是在jQuery中创建的。可以在LiveCode中应用吗?

3 个答案:

答案 0 :(得分:1)

mouseEnter(后跟mouseLeave)几乎相当于Web技术中的鼠标悬停。 LiveCode没有内置的淡入淡出效果,但您可以通过更改对象的blendLevel属性来编写自己的淡入淡出效果。例如,将以下脚本添加到按钮以使其在mouseEnter(mouseover)上淡出为80%半透明,并在mouseLeave上淡出为opaque:

on mouseEnter
   repeat with N = 0 to 80 step 5
      set blendLevel of me to N
   end repeat
end mouseEnter

on mouseLeave
   repeat with N = 80 to 0 step -5
      set blendLevel of me to N
   end repeat
end mouseLeave

答案 1 :(得分:0)

如果您不需要淡入/淡出,则可以在不编写脚本的情况下完成翻转效果。只需导入两个图像,然后将按钮的图标属性设置为一个图像的id,将同一个按钮的hoverIcon属性设置为另一个图像的id。

就脚本翻转效果而言,Scott的答案是现场 - 你可以使用mouseEnter和mouseLeave消息来创建你想要的任何视觉变化。如果您需要淡入/淡出效果,可以这样做:

- 创建一个新按钮,使其透明,showName关闭,边框关闭。

- 导入你的两张照片。让我们说它们被命名为image1和image2。

- 将按钮的脚本设置为以下内容:

on mouseEnter
    set the effectRate to 500
    lock screen for visual effect
    set the icon of me to "image2"
    unlock screen with visual effect dissolve
end mouseEnter

on mouseLeave
    set the effectRate to 500
    lock screen for visual effect
    set the icon of me to "image1"
    unlock screen with visual effect dissolve
end mouseLeave

这会产生与您提供的链接中的效果几乎完全相同的效果。您可以通过更改effectRate来更改溶解效果的速率;溶解速度越慢,溶解速度越快,速率越慢。 (effectRate以毫秒为单位。)

答案 2 :(得分:0)

  

on mousewithin put random(1000) end mousewithin