当前位置:软件学习 > Director >>

Director中的属性

Director中的属性
   属性是一个Director中频繁使用的概念。任何对象的定义都是由属性来完成的,而在定义的过程中,每个属性则可以看作对当前对象某一方面的描述。

   在实际的使用过程中,可以根据属性取值的时效性将其分为两大类:静态属性与动态属性。

一、静态属性

   静态属性是一种非实时属性,之所以称之为“静态”,是因为其值不会在影片重新播放时重置。根据控制方法的不同,又可以将其分为纯静态属性与准静态属性。

1. 纯静态属性

   纯静态属性无法使用程序控制,只能使用特定的设置窗口。

   典型的纯静态属性如剪辑室的通道数(_movie.lastChannel)。这是一个影片属性,无法使用程序控制,需要使用Property Inspector窗口中的Movie标签进行设置。



图1 剪辑室的通道数只能使用Movie标签控制


2. 准静态属性

   与纯静态属性相比,准静态属性的不同之处在于可以使用程序控制,而其中一些还可以使用特定的设置窗口。



图2 演员的名称既可以使用程序控制也可以使用Cast窗口设置


   典型的准静态属性如演员的名称(memberObjRef.name)。这是一个演员属性,既可以使用程序控制,也可以使用Cast窗口进行设置。

二、动态属性

   动态属性是一种实时属性,之所以称之为“动态”,是因为其值会在影片重新播放时重置。

   典型的动态属性如角色的宽度。即使在影片播放过程中使用程序改变了角色的宽度,影片重新播放时还是会将其重置为Property Inspector窗口中的取值。



图3 角色宽度会在影片重新播放时重置为Property Inspector窗口中的取值


三、动态属性的保留

   动态属性的重置特性使得影片可以不断重播。如果动态属性不能重置,那么再次播放时就无法看到相同的影片。但是在很多情况下,需要避免这种重置,即保留动态属性。以下方法均可在特定条件下达到这一目的:

1. 使用程序控制角色通道

   如果只是需要在影片播放过程中保留动态属性,可以使用puppetSprite()将角色通道的控制权交给程序。由于角色通道不再受控于剪辑室,因此可以避免播放过程中的重置操作。

2. 生成剪辑室

   如果不仅需要在影片播放过程中保留动态属性,还希望再次播放时属性不被重置,可以使用beginRecording()与endRecording()。通过生成剪辑室,能够使其改变永久化。

3. 变量控制

   变量控制也是一种保留动态属性的方法,即通过程序将动态属性的值存储至变量并在需要时读取。与前面两种方法相比,虽然稍显复杂,但却具有更高的灵活性。

[1]

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,