Lingo Dictionary > A-C > ancestor |
![]() ![]() ![]() |
ancestor
Syntax
property {
optionalProperties
} ancestor
Description
Object property; allows child objects and behaviors to use handlers that are not contained within the parent script or behavior.
The ancestor
property is typically used with two or more parent scripts. You can use this property when you want child objects and behaviors to share certain behaviors that are inherited from an ancestor, while differing in other behaviors that are inherited from the parents.
For child objects, the ancestor
property is usually assigned in the on new
handler within the parent script. Sending a message to a child object that does not have a defined handler forwards that message to the script defined by the ancestor
property.
If a behavior has an ancestor, the ancestor receives mouse events such as mouseDown
and mouseWithin
.
The ancestor
property lets you change behaviors and properties for a large group of objects with a single command.
The ancestor script can contain independent property variables that can be obtained by child objects. To refer to property variables within the ancestor script, you must use this syntax:
me.
propertyVariable =
value
For example, this statement changes the property variable legCount
within an ancestor script to 4:
me.legCount = 4
Use the syntax the
variableName
of
scriptName
to access property variables that are not contained within the current object. This statement allows the variable myLegCount
within the child object to access the property variable legCount
within the ancestor script:
set myLegCount to the legCount of me
Example
Each of the following scripts is a cast member. The ancestor script Animal and the parent scripts Dog and Man interact with one another to define objects.
The first script, Dog, sets the property variable breed
to Mutt, sets the
ancestor of Dog
to the Animal script, and sets the legCount
variable that is stored in the ancestor script to 4:
property breed, ancestor on new me set breed = "Mutt" set the ancestor of me to new(script "Animal") set the legCount of me to 4 return me end
The second script, Man, sets the property variable race
to Caucasian, sets the
ancestor of Man
to the Animal script, and sets the legCount
variable that is stored in the ancestor script to 2:
property race, ancestor on new me set race to "Caucasian" set the ancestor of me to new(script "Animal") set the legCount of me to 2 return me end
See also
![]() ![]() ![]() |