Script Classes for Adventure Games/Prop Class

From SCI Wiki
Jump to: navigation, search

Official SCI Documentation

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

Author: Jeff Stephenson

Date: 5 April 1988


The Prop Class

Props are Views which can cycle but not move.

In file:
Inherits from: View
Inherited by: Actor



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.


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.


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.


The object ID of any timer which is set to cue: the Prop.



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: script

Sets 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.




Table of Contents


< Previous: The View Class Next: The Actor Class >