Solution Proposal for Exercise 1 - Area Guide
The first task is to create a guiding boundary that the simmer need to fly in. Failing to keep the plane in the boundary does not fail the mission.
Solution Proposed:
Here is a map that illustrates the new bounding area, and after it you can find a snippet solution for task one.
Solution Proposed:
- Create an AreaZone in Objective one.
- The AreaZone will have six points that will define the guiding area (remember to enter the points clockwise).
- The area type will be: "poly" and area rule will be "enter"
- Add two events, one for "onEnter" and one for "onLeave". For each event write a general message (<Msg>) so the simmer will know where he is.
- The message should repeat every time we enter or leave the area, so we should flag the <Msg> as repeatable.
- Test the mission
Here is a map that illustrates the new bounding area, and after it you can find a snippet solution for task one.
Here is the proposed <Areas> snippet to add to Objective one:
<Areas>
<AreaZone type="poly" rule="enter" failCanCont="1" elevMin="0" elevMax="0" radius="0.0" timer="0.0" restrictElev="0" groupId="" stopOnReach="0">
<Point lat="47.305233" long="11.311460" />
<Point lat="47.402592" long="11.703875" />
<Point lat="47.597572" long="12.112749" />
<Point lat="47.507298" long="12.216961" />
<Point lat="47.272873" long="11.644159" />
<Point lat="47.234184" long="11.311676" />
<Event id="1" type="onEnter">
<Msg repeatMsg="1" ><![CDATA[Remember to keep the plane path above the valley...]]></Msg>
</Event>
<Event id="2" type="onLeave">
<Msg repeatMsg="1" ><![CDATA[You left the desired path. Please return and fly over the valley path !!!]]></Msg>
</Event>
</AreaZone>
</Areas>
<Areas>
<AreaZone type="poly" rule="enter" failCanCont="1" elevMin="0" elevMax="0" radius="0.0" timer="0.0" restrictElev="0" groupId="" stopOnReach="0">
<Point lat="47.305233" long="11.311460" />
<Point lat="47.402592" long="11.703875" />
<Point lat="47.597572" long="12.112749" />
<Point lat="47.507298" long="12.216961" />
<Point lat="47.272873" long="11.644159" />
<Point lat="47.234184" long="11.311676" />
<Event id="1" type="onEnter">
<Msg repeatMsg="1" ><![CDATA[Remember to keep the plane path above the valley...]]></Msg>
</Event>
<Event id="2" type="onLeave">
<Msg repeatMsg="1" ><![CDATA[You left the desired path. Please return and fly over the valley path !!!]]></Msg>
</Event>
</AreaZone>
</Areas>
There is another way to resolve task one, and it involves altering the area rule to "bound". You can read about it in the designer guide.
Click on the link bellow to download the proposed solution for task 1. | |
File Size: | 2 kb |
File Type: | zip |
Proposal Solution for exercise 2 - Area Guide With Height Restriction Too
The second task is an extension of the first task. In both tasks we need a bounded area, the only difference is that the AreaZone in task two, is restricted by height. We can vision the area as a three dimensional cube that the plane should fly in it.
Solution Steps:
Here is an image and a snippet that describes the suggested solution:
Solution Steps:
- Modify AreaZone in Objective 1
- Modify both "elevMin" and "elevMax" to values other then zero. Plugin will ignore elevation tests if one of these attributes is zero.
- Modify events "onEnter" and "onLeave" with messages that include the height restriction too.
- Test the modifications
Here is an image and a snippet that describes the suggested solution:
When defining an area with min/max elevation, we are creating an area shape with a volume to it.In this tutorial, the plane need to fly in that cubic like shape.
<Areas>
<AreaZone type="poly" rule="enter" failCanCont="1" elevMin="1" elevMax="6000" radius="0.0" timer="0.0" restrictElev="0" groupId="" stopOnReach="0">
<Point lat="47.305233" long="11.311460" />
<Point lat="47.402592" long="11.703875" />
<Point lat="47.597572" long="12.112749" />
<Point lat="47.507298" long="12.216961" />
<Point lat="47.272873" long="11.644159" />
<Point lat="47.234184" long="11.311676" />
<Event id="1" type="onEnter" >
<Msg type="onEnter" repeatMsg="1" ><![CDATA[Remember to keep the plane path above the valley and at elevation no more then 6000 feet...]]></Msg>
</Event>
<Event id="2" type="onLeave" >
<Msg type="onLeave" repeatMsg="1" ><![CDATA[You left the desired path. Please return and fly over the valley path, Remember, elevation should not exceed 6000 feet !!!]]></Msg>
</Event>
</AreaZone>
</Areas>
<AreaZone type="poly" rule="enter" failCanCont="1" elevMin="1" elevMax="6000" radius="0.0" timer="0.0" restrictElev="0" groupId="" stopOnReach="0">
<Point lat="47.305233" long="11.311460" />
<Point lat="47.402592" long="11.703875" />
<Point lat="47.597572" long="12.112749" />
<Point lat="47.507298" long="12.216961" />
<Point lat="47.272873" long="11.644159" />
<Point lat="47.234184" long="11.311676" />
<Event id="1" type="onEnter" >
<Msg type="onEnter" repeatMsg="1" ><![CDATA[Remember to keep the plane path above the valley and at elevation no more then 6000 feet...]]></Msg>
</Event>
<Event id="2" type="onLeave" >
<Msg type="onLeave" repeatMsg="1" ><![CDATA[You left the desired path. Please return and fly over the valley path, Remember, elevation should not exceed 6000 feet !!!]]></Msg>
</Event>
</AreaZone>
</Areas>
I highlighted the modified places in the AreaZone., another thing to note, is that we do not abort mission if simmer did not abide to the restricting rules.
Click on the link bellow to download the proposed solution for task 2. | |
File Size: | 2 kb |
File Type: | zip |