(只是想为多媒体的发展尽一份力。以下是翻译director online 上的一篇关于制作控制blend行为的文章,觉得简单有用,所以给大家共享。动机单纯。-------alalala)
一个非常好的问题!我始终倾向于避免写的代码过于局限。让我们来合计一下你所需要的。我们先假设你的行为默认状态下对下一个通道产生作用(the sprite+1)。这会使代码容易编写。
我们将创建一个属性来保留受影响的精灵的参数。我把它叫做pblendsprite,并且我将它写在beginsprite句柄中。
property pblendspriteon beginSprite me
set mySprite = the spriteNum of me
set pBlendSprite = mySprite + 1
endon mouseEnter
set the blend of sprite pBlendSprite to whatever
end
很容易,不是吗?让我们在这个基础上再进一步。让我们来制定它在默认状态下是针对下一个精灵,但是,它可被编辑改变。这是一个小窍门。在上边的行为中我们并不知道具体的精灵编号,直到电影运行,beginsprite事件激发。但是,如果我们希望默认的数字显示在getpropertiesdescriptionlist对话框中,我们需要立即得到这个数值----在我们将这个行为赋予精灵的时候。
这个诀窍在于使用\"the currentspritenum\"。查一下lingo字典的详细资料。这个属性返回的任何在最近的事件中的精灵通道号。很明显,将行为赋予精灵也是事件(??不知这里对不对)。这对我们是一件好事,因为我们要得到精灵的通道号(然后再加1)
property pBlendSpriteon getPropertyDescriptionList
set blendSpriteNum = the currentSpriteNum + 1
set p_list = [#pBlendSprite: [ #comment: \"Which Sprite blends?:\",_
#format:#integer,#default: blendSpriteNum]]
return p_list
endon mouseEnter me
set the blend of sprite pBlendSprite to whatever
endon mouseLeave me
set the blend of sprite pBlendSprite to 100
end
注意,在这个行为中,并没有用到beginsprite句柄。那个属性在电影事件开始前就被指定了。
查看 http://www.qqread.com/director/f345138.html相关专题
- ASP.NET教程 (8471篇文章)
- FreeBSD使用教程 (6592篇文章)
- Director MX 2004教程--我的第一个作品 (822次浏览)
- Director 8.5 简单基础实例教程(五) (649次浏览)
- Director Lingo 语言入门(1) (578次浏览)
- 多媒体教学软件开发经验谈 (564次浏览)
- Director MX 2004教程--用Lingo语法和JavaSc (531次浏览)
- Director Lingo 语言入门(2) (444次浏览)
- Director 8.5 简单基础实例教程(八) (440次浏览)
- 制作具有Win XP 风格的菜单 (429次浏览)
- ShockWave 3D 制作系列教程之三 (426次浏览)
- Power Director 3快速上手 (425次浏览)



