欢迎光临
我们一直在努力

【director教程】制作控制精灵的blend行为_director教程

建站超值云服务器,限时71元/月

(只是想为多媒体的发展尽一份力。以下是翻译director online 上的一篇关于制作控制blend行为的文章,觉得简单有用,所以给大家共享。动机单纯。——-alalala)


  我试着想写一个行为。当鼠标移到一个精灵上时,我希望另一个精灵能够改变它的混合值(blend),是特定的下一个通道的精灵。我在指定具体通道号的时候能够实现这个效果,但我不知道如何做一个行为,这样我只需从库中调用。
  一个非常好的问题!我始终倾向于避免写的代码过于局限。让我们来合计一下你所需要的。我们先假设你的行为默认状态下对下一个通道产生作用(the sprite+1)。这会使代码容易编写。

  我们将创建一个属性来保留受影响的精灵的参数。我把它叫做pblendsprite,并且我将它写在beginsprite句柄中。


property pblendsprite

on beginSprite me
set mySprite = the spriteNum of me
set pBlendSprite = mySprite + 1
end

on mouseEnter
set the blend of sprite pBlendSprite to whatever
end


  很容易,不是吗?让我们在这个基础上再进一步。让我们来制定它在默认状态下是针对下一个精灵,但是,它可被编辑改变。这是一个小窍门。在上边的行为中我们并不知道具体的精灵编号,直到电影运行,beginsprite事件激发。但是,如果我们希望默认的数字显示在getpropertiesdescriptionlist对话框中,我们需要立即得到这个数值—-在我们将这个行为赋予精灵的时候。

  这个诀窍在于使用\”the currentspritenum\”。查一下lingo字典的详细资料。这个属性返回的任何在最近的事件中的精灵通道号。很明显,将行为赋予精灵也是事件(??不知这里对不对)。这对我们是一件好事,因为我们要得到精灵的通道号(然后再加1)


property pBlendSprite

on getPropertyDescriptionList
set blendSpriteNum = the currentSpriteNum + 1
set p_list = [#pBlendSprite: [ #comment: \”Which Sprite blends?:\”,_
#format:#integer,#default: blendSpriteNum]]
return p_list
end

on mouseEnter me
set the blend of sprite pBlendSprite to whatever
end

on mouseLeave me
set the blend of sprite pBlendSprite to 100
end


  注意,在这个行为中,并没有用到beginsprite句柄。那个属性在电影事件开始前就被指定了。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 【director教程】制作控制精灵的blend行为_director教程
分享到: 更多 (0)