Difference between revisions of "Script Classes for Adventure Games/Prop Class"
(4 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
Chapter: | Chapter: | ||
[[Script Classes for Adventure Games/Introduction|1]] | | [[Script Classes for Adventure Games/Introduction|1]] | | ||
− | [[Script Classes for Adventure Games/RootObj|2]] | | + | [[Script Classes for Adventure Games/RootObj Class|2]] | |
− | [[Script Classes for Adventure Games/Object|3]] | | + | [[Script Classes for Adventure Games/Object Class|3]] | |
− | [[Script Classes for Adventure Games/Collection|4]] | | + | [[Script Classes for Adventure Games/Collection Class|4]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Script Class|5]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Timer Class|6]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Feature Class|7]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/View Class|8]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/PicView Class|9]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Cycling Classes|10]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Motion Classes|11]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Avoider Class|12]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/Event Class|13]] | |
− | [[Script Classes for Adventure Games/ | + | [[Script Classes for Adventure Games/User Class|14]]<br /> |
− | + | [[Script Classes for Adventure Games/Game Class|15]] | | |
− | + | [[Script Classes for Adventure Games/Locale Class|16]] | | |
− | + | [[Script Classes for Adventure Games/Region Class|17]] | | |
− | + | [[Script Classes for Adventure Games/Room Class|18]] | | |
− | + | [[Script Classes for Adventure Games/Timer2 Class|19]] | | |
− | + | [[Script Classes for Adventure Games/InvItem Class|20]] | | |
− | + | [[Script Classes for Adventure Games/Block Class|21]] | | |
− | + | [[Script Classes for Adventure Games/Cage Class|22]] | | |
− | + | [[Script Classes for Adventure Games/Sound Class|23]] | | |
− | + | [[Script Classes for Adventure Games/StatusLine Class|24]] | | |
− | + | [[Script Classes for Adventure Games/File Class|25]] | | |
− | + | [[Script Classes for Adventure Games/Code Class|26]] | | |
− | + | [[Script Classes for Adventure Games/Global Variables|27]] | | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[Script Classes for Adventure Games/Game| | ||
− | [[Script Classes for Adventure Games/Locale| | ||
− | [[Script Classes for Adventure Games/Region| | ||
− | [[Script Classes for Adventure Games/Room| | ||
− | [[Script Classes for Adventure Games/Timer2| | ||
− | |||
− | [[Script Classes for Adventure Games/InvItem| | ||
− | [[Script Classes for Adventure Games/Block| | ||
− | [[Script Classes for Adventure Games/Cage| | ||
− | [[Script Classes for Adventure Games/Sound| | ||
− | [[Script Classes for Adventure Games/StatusLine| | ||
− | [[Script Classes for Adventure Games/File| | ||
− | [[Script Classes for Adventure Games/Code| | ||
− | [[Script Classes for Adventure Games/Global Variables| | ||
[[Script Classes for Adventure Games/Index|Index]] | [[Script Classes for Adventure Games/Index|Index]] | ||
</div><br /> | </div><br /> | ||
− | <div align="center"><span style="font-size: 22pt"></span><br /> | + | <div align="center"><span style="font-size: 22pt">The Prop Class</span><br /> |
''Author: [[Jeff Stephenson]]''<br /> | ''Author: [[Jeff Stephenson]]''<br /> | ||
''Date: 5 April 1988''</div> | ''Date: 5 April 1988''</div> | ||
Line 62: | Line 39: | ||
| | ||
− | + | ==<br /> The Prop Class == | |
+ | |||
+ | Props are Views which can cycle but not move. | ||
+ | |||
+ | {| | ||
+ | |width= "125"|In file:||actor.sc | ||
+ | |- | ||
+ | |Inherits from:||View | ||
+ | |- | ||
+ | |Inherited by:||Actor | ||
+ | |} | ||
+ | |||
+ | ===<br /> Properties === | ||
+ | |||
+ | <blockquote> | ||
+ | ====<br /> cycleSpeed ==== | ||
+ | <blockquote>The number of animation cycles between successive cels of the Prop. Normally this is 0, meaning that the Prop cycles each animation cycle. If you want the Prop to cycle more slowly, set this to a larger value.</blockquote> | ||
+ | |||
+ | ====<br /> cycler ==== | ||
+ | <blockquote>This is the object ID of an instance of a Cycle class which determines the next cel to display for the Prop. Don't modify it directly, but use the setCycle: method to install an instance of one of the cycling classes. The object pointed to by this property is sent the message (cycler doit:) by the Prop each animation cycle.</blockquote> | ||
+ | |||
+ | ====<br /> script ==== | ||
+ | <blockquote>The object ID of a Script associated with a Prop. If a Prop has a script, it will be called with (script doit: self) by the doit: method of the Prop each animation cycle.</blockquote> | ||
+ | |||
+ | ====<br /> timer ==== | ||
+ | <blockquote>The object ID of any timer which is set to cue: the Prop.</blockquote> | ||
+ | </blockquote> | ||
+ | |||
+ | ===<br /> Methods === | ||
+ | |||
+ | <blockquote> | ||
+ | ====<br /> doit: ==== | ||
+ | <blockquote>If the Prop has a script, send it the message doit: self. If the Prop has a cycler, send it the message doit:.</blockquote> | ||
+ | |||
+ | ====<br /> cue: [newState] ==== | ||
+ | <blockquote>If the Prop has a script and newState is absent, cue: the script. If newState is present, execute (script changeState:newState).</blockquote> | ||
+ | |||
+ | ====<br /> setScript: script ==== | ||
+ | <blockquote>Sets a Prop's script to script and initializes the script. Doing a setScript:0 disposes any current script without installing a new one.</blockquote> | ||
+ | |||
+ | ====<br /> setCel: [newCel] ==== | ||
+ | <blockquote>Normally, the cel is set by the code pointed to by cycler. Sending the setCel: message with no newCel specified overrides cycler and fixes the cel at its current value. Sending a message with a value of newCel fixes the cel at that value. A newCel of -1 returns control to cycler.</blockquote> | ||
+ | |||
+ | ====<br /> setCycle: cycle [caller] ==== | ||
+ | <blockquote>Sets the Prop's cycler property to an instance of a Cycle class deleting any former instance. Doing a setCycle:0 disposes any current cycle class without installing a new one. The optional caller argument may be provided for Cycle classes which terminate, in which case the caller will be cue:ed when the Cycle terminates.</blockquote> | ||
+ | </blockquote> | ||
| | ||
Line 75: | Line 97: | ||
| | ||
− | <span style="float: left">[[Script Classes for Adventure Games/|< Previous: ]]</span> | + | <span style="float: left">[[Script Classes for Adventure Games/View Class|< Previous: The View Class]]</span> |
− | <span style="float: right">[[Script Classes for Adventure Games/|Next: | + | <span style="float: right">[[Script Classes for Adventure Games/Actor Class|Next: The Actor Class >]]</span> |
| |
Latest revision as of 00:04, 11 December 2015
Chapter:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
Index
The Prop Class
Props are Views which can cycle but not move.
In file: | actor.sc |
Inherits from: | View |
Inherited by: | Actor |
Properties
cycleSpeedThe number of animation cycles between successive cels of the Prop. Normally this is 0, meaning that the Prop cycles each animation cycle. If you want the Prop to cycle more slowly, set this to a larger value.
cyclerThis is the object ID of an instance of a Cycle class which determines the next cel to display for the Prop. Don't modify it directly, but use the setCycle: method to install an instance of one of the cycling classes. The object pointed to by this property is sent the message (cycler doit:) by the Prop each animation cycle.
scriptThe object ID of a Script associated with a Prop. If a Prop has a script, it will be called with (script doit: self) by the doit: method of the Prop each animation cycle.
timerThe object ID of any timer which is set to cue: the Prop.
Methods
doit:If the Prop has a script, send it the message doit: self. If the Prop has a cycler, send it the message doit:.
cue: [newState]If the Prop has a script and newState is absent, cue: the script. If newState is present, execute (script changeState:newState).
setScript: scriptSets a Prop's script to script and initializes the script. Doing a setScript:0 disposes any current script without installing a new one.
setCel: [newCel]Normally, the cel is set by the code pointed to by cycler. Sending the setCel: message with no newCel specified overrides cycler and fixes the cel at its current value. Sending a message with a value of newCel fixes the cel at that value. A newCel of -1 returns control to cycler.
setCycle: cycle [caller]Sets the Prop's cycler property to an instance of a Cycle class deleting any former instance. Doing a setCycle:0 disposes any current cycle class without installing a new one. The optional caller argument may be provided for Cycle classes which terminate, in which case the caller will be cue:ed when the Cycle terminates.
- Notes
< Previous: The View Class Next: The Actor Class >