The z-coordinate: Difference between revisions

From Sierra Wiki
Jump to navigationJump to search
m (1 revision imported)
Line 25: Line 25:


<span style="float: left">[[Jumping Bug|&lt; Previous: Chapter 5 - Jumping Bug]]</span>
<span style="float: left">[[Jumping Bug|&lt; Previous: Chapter 5 - Jumping Bug]]</span>
<span style="float: right">[[Memory Management|Next: Chapter 7 - Memory Management (advanced) &gt;]]</span>
<span style="float: right">[[SCI Memory Management|Next: Chapter 7 - SCI Memory Management (advanced) &gt;]]</span>


&nbsp;
&nbsp;

Revision as of 10:10, 20 October 2024

Chapter 6 - z-coordinate

All the classes that extend from Feature (PV, View, Prop, Act, Ego) have a z coordinate. This can be used to 'elevate' the object above or below the ground. The same could be accomplished with the y coordinate, but change this will affect the motion classes applied to the actor, and it will also change the priority of the actor.

Walking on elevated ground.

Suppose we have a section of elevated ground on which the ego can walk. We could draw a particular control color over this elevated ground in the pic.

Supposing ctlGREEN was the control color:

Code:

<syntaxhighlight lang="sci" class="cs"> (method (doit) (super:doit())

(if (& (send gEgo:onControl()) ctlGREEN) (send gEgo:z(3)) // Ego is elevated by 3 pixels. )(else (send gEgo:z(0)) // Ego is back to normal ) )</syntaxhighlight>

Incidentally, changing the z-coordinate has the same effect as changing the Y coordinate of a view's 'placement' (these are the X and Y coordinates of the view in SCI Studio's view editor). However, the placement of a view is fixed, while the z-coordinate can be changed in code.

 

< Previous: Chapter 5 - Jumping Bug Next: Chapter 7 - SCI Memory Management (advanced) >