Home | SCI Documentation | SCI Tutorials | SCI Tools | SCI Wiki | Community

Chapter 3 - Scripting Props and Acts

In addition to a room having a script associated with it, props and actors can also have scripts. If you have a lot of actors and props in a room, all doing different things, it is much easier to associated the scripting logic for a particular actor with that actor instead of in the room's script.

Adding a shadow of the ego

For this exercise, we'll make a Prop that acts as the shadow of the ego. The Prop's script's doit method will check the ego's position, and adjust its own position accordingly.

Example
Code:
(instance aShadow of Prop
    (properties
        x 0
        y 0
        view 800
    )
    (method (init)
        (super:init())
        (self:ignoreActors() z(-90))
        (self:setScript(shadowScript))
    )
)
 
(instance shadowScript of Script
    (properties)
    (method (doit)
        (aShadow:
            posn((+ 20 (send gEgo:x)) (- (send gEgo:y) 90))
        )
        (super:doit())
    )
)

And then, in the init method of the room, you do

For example:
Code:
        (aShadow:init())

It's that easy. Of course, the prop or actor's script can contain any of the standard script methods: changeState, handleEvent or doit.

< Previous: Chapter 2 - Regions and Locales Next: Chapter 4 - Loopers >
 

by helping to defray some of the costs of hosting this site. If it has been of help to you, please consider contributing to help keep it online.
Thank you.
pixe
Top

© 2013 to present The Sierra Help Pages. All rights reserved. All Sierra games, artwork and music © Sierra.