<?xml version="1.0" encoding="ISO-8859-1" ?>
<Game>
    <GDVersion Major="1" Minor="2" Build="8683" Revision="43750" />
    <Info>
        <Nom value="3D Engine" />
        <Auteur value="" />
        <WindowW value="800" />
        <WindowH value="600" />
        <Portable value="true" />
        <Extensions>
            <Extension name="Box3DObject" />
            <Extension name="Sprite" />
            <Extension name="BuiltinObject" />
            <Extension name="BuiltinVariables" />
            <Extension name="BuiltinTime" />
            <Extension name="BuiltinAudio" />
            <Extension name="BuiltinMouse" />
            <Extension name="BuiltinKeyboard" />
            <Extension name="BuiltinJoystick" />
            <Extension name="BuiltinCamera" />
            <Extension name="BuiltinWindow" />
            <Extension name="BuiltinFile" />
            <Extension name="BuiltinInterface" />
            <Extension name="BuiltinNetwork" />
            <Extension name="BuiltinScene" />
            <Extension name="BuiltinAdvanced" />
        </Extensions>
        <FPSmax value="300" />
        <FPSmin value="10" />
        <verticalSync value="false" />
        <Chargement>
            <Afficher value="true" />
            <Border value="true" />
            <Smooth value="true" />
            <Width value="170.000000" />
            <Height value="50.000000" />
            <TexteAfficher value="true" />
            <TexteXPos value="0.000000" />
            <TexteYPos value="5.000000" />
            <Texte value="Chargement" />
            <PourcentAfficher value="false" />
            <PourcentXPos value="0.000000" />
            <PourcentYPos value="0.000000" />
            <ImageAfficher value="false" />
            <Image value="" />
        </Chargement>
    </Info>
    <Images>
        <Image nom="Wall" fichier="block.png" lissage="true" />
        <Image nom="Camera" fichier="camera64.png" lissage="true" />
        <Image nom="Ground" fichier="sol.png" lissage="true" />
    </Images>
    <DossierImages />
    <Objects />
    <Variables />
    <Scenes>
        <Scene nom="Nouvelle scène 1" r="163.000000" v="199.000000" b="252.000000" titre="">
            <GroupesObjets>
                <Groupe nom="Invisible">
                    <Objet nom="Wall2D" />
                    <Objet nom="Camera" />
                </Groupe>
            </GroupesObjets>
            <Objets>
                <Objet nom="Wall2D" type="Sprite">
                    <Variables />
                    <Animations>
                        <Animation typeNormal="false">
                            <Direction boucle="false" tempsEntre="1.000000">
                                <Sprites>
                                    <Sprite image="Wall">
                                        <Points />
                                        <PointOrigine nom="origine" X="0.000000" Y="0.000000" />
                                        <PointCentre nom="centre" X="32.000000" Y="32.000000" automatic="true" />
                                    </Sprite>
                                </Sprites>
                            </Direction>
                        </Animation>
                    </Animations>
                </Objet>
                <Objet nom="Camera" type="Sprite">
                    <Variables />
                    <Animations>
                        <Animation typeNormal="false">
                            <Direction boucle="false" tempsEntre="1.000000">
                                <Sprites>
                                    <Sprite image="Camera">
                                        <Points />
                                        <PointOrigine nom="origine" X="0.000000" Y="0.000000" />
                                        <PointCentre nom="centre" X="32.000000" Y="32.000000" automatic="true" />
                                    </Sprite>
                                </Sprites>
                            </Direction>
                        </Animation>
                    </Animations>
                </Objet>
                <Objet nom="Wall3D" type="Box3DObject::Box3D">
                    <Variables />
                    <frontTexture value="Wall" />
                    <topTexture value="Wall" />
                    <bottomTexture value="Wall" />
                    <leftTexture value="Wall" />
                    <rightTexture value="Wall" />
                    <backTexture value="Wall" />
                    <width value="64" />
                    <height value="64" />
                    <depth value="64" />
                </Objet>
                <Objet nom="Ground" type="Sprite">
                    <Variables />
                    <Animations>
                        <Animation typeNormal="true">
                            <Direction boucle="false" tempsEntre="1.000000">
                                <Sprites>
                                    <Sprite image="Ground">
                                        <Points />
                                        <PointOrigine nom="origine" X="0.000000" Y="0.000000" />
                                        <PointCentre nom="centre" X="400.000000" Y="300.000000" automatic="true" />
                                    </Sprite>
                                </Sprites>
                            </Direction>
                        </Animation>
                    </Animations>
                </Objet>
            </Objets>
            <Layers>
                <Layer Name="Ground" Visibility="true" />
                <Layer Name="" Visibility="true" />
                <Layer Name="Map" Visibility="true" />
            </Layers>
            <Variables />
            <Positions>
                <Objet nom="Wall2D" x="128" y="320" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Camera" x="693" y="507" plan="0" layer="" angle="31" personalizedSize="false" width="0" height="0">
                    <floatInfos>
                        <Info name="animation" value="231803040" />
                    </floatInfos>
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="128" y="256" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="192" y="192" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="128" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="256" y="192" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos>
                        <Info name="animation" value="1995553792" />
                    </floatInfos>
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="512" y="192" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="384" y="192" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="448" y="192" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Ground" x="0" y="1" plan="0" layer="Ground" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos>
                        <Info name="animation" value="57183676" />
                    </floatInfos>
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="-128" y="512" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="256" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="320" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="384" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="768" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="768" y="320" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="704" y="256" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="768" y="448" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="320" y="224" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="-128" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="-128" y="448" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="0" y="512" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="128" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="192" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="448" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="512" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="576" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="768" y="512" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="704" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="640" y="576" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="640" y="256" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="576" y="256" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="576" y="320" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="576" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="414" y="532" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="446" y="545" plan="0" layer="" angle="2025" personalizedSize="false" width="0" height="0">
                    <floatInfos>
                        <Info name="animation" value="1206198144" />
                    </floatInfos>
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="323" y="545" plan="0" layer="" angle="2025" personalizedSize="false" width="0" height="0">
                    <floatInfos>
                        <Info name="animation" value="69447296" />
                    </floatInfos>
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="356" y="532" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos>
                        <Info name="animation" value="252530592" />
                    </floatInfos>
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="-64" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="0" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
                <Objet nom="Wall2D" x="64" y="384" plan="0" layer="" angle="0" personalizedSize="false" width="0" height="0">
                    <floatInfos />
                    <stringInfos />
                </Objet>
            </Positions>
            <Events>
                <Event>
                    <Type value="Commentaire" />
                    <Couleur r="255.000000" v="230.000000" b="109.000000" />
                    <Com1 value="Exemple de moteur 3D&#x0A;" />
                    <Com2 value="" />
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="DepartScene" loc="true" Contraire="false" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="ModVarScene" loc="true" />
                            <Parametre value="count" />
                            <Parametre value="0" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="Cache" loc="true" />
                            <Parametre value="Invisible" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="Commentaire" />
                    <Couleur r="255.000000" v="230.000000" b="109.000000" />
                    <Com1 value="Création des murs 3D qui correspondent à chaque mur 2D." />
                    <Com2 value="" />
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="DepartScene" loc="true" Contraire="false" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="ForEach" loc="true" />
                            <Parametre value="Wall2D" />
                        </Action>
                        <Action>
                            <Type value="Create" loc="true" />
                            <Parametre value="Wall3D" />
                            <Parametre value="0" />
                            <Parametre value="0" />
                            <Parametre value="" />
                        </Action>
                        <Action>
                            <Type value="ModVarObjet" loc="true" />
                            <Parametre value="Wall2D" />
                            <Parametre value="ID" />
                            <Parametre value="VAL(variable[count])" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="ModVarObjet" loc="true" />
                            <Parametre value="Wall3D" />
                            <Parametre value="ID" />
                            <Parametre value="VAL(variable[count])" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="ModVarScene" loc="true" />
                            <Parametre value="count" />
                            <Parametre value="1" />
                            <Parametre value="+" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="Commentaire" />
                    <Couleur r="255.000000" v="230.000000" b="109.000000" />
                    <Com1 value="Affichage des murs 3D" />
                    <Com2 value="" />
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="ForEach" loc="true" Contraire="false" />
                            <Parametre value="Wall2D" />
                        </Condition>
                        <Condition>
                            <Type value="VarObjet" loc="true" Contraire="false" />
                            <Parametre value="Wall3D" />
                            <Parametre value="ID" />
                            <Parametre value="OBJ(Wall2D[variable][ID])" />
                            <Parametre value="=" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="ModVarObjet" loc="true" />
                            <Parametre value="Wall2D" />
                            <Parametre value="distanceCamera" />
                            <Parametre value="OBJ(Wall2D[distance][Camera])" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="ModVarObjet" loc="true" />
                            <Parametre value="Wall2D" />
                            <Parametre value="angleCamera" />
                            <Parametre value="OBJ(Camera[direction])*3.14/180-atan2(OBJ(Wall2D[y])-OBJ(Camera[y]), OBJ(Wall2D[x])-OBJ(Camera[x]))" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="MettreY" loc="true" />
                            <Parametre value="Wall3D" />
                            <Parametre value="300-32" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="MettreX" loc="true" />
                            <Parametre value="Wall3D" />
                            <Parametre value="sin(OBJ(Wall2D[variable][angleCamera])) * OBJ(Wall2D[variable][distanceCamera])+400-32" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="Box3DObject::ZPosition" loc="true" />
                            <Parametre value="Wall3D" />
                            <Parametre value="cos(OBJ(Wall2D[variable][angleCamera])) * OBJ(Wall2D[variable][distanceCamera]) + 300-32" />
                            <Parametre value="=" />
                        </Action>
                        <Action>
                            <Type value="Box3DObject::Pitch" loc="true" />
                            <Parametre value="Wall3D" />
                            <Parametre value="OBJ(Camera[direction])+OBJ(Wall2D[direction])" />
                            <Parametre value="=" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="Commentaire" />
                    <Couleur r="255.000000" v="230.000000" b="109.000000" />
                    <Com1 value="Déplacement" />
                    <Com2 value="" />
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="KeyPressed" loc="true" Contraire="false" />
                            <Parametre value="Right" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="ChangeDirection" loc="true" />
                            <Parametre value="Camera" />
                            <Parametre value="100*VAL(timeDelta[])" />
                            <Parametre value="+" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="KeyPressed" loc="true" Contraire="false" />
                            <Parametre value="Up" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="AddForceAL" loc="true" />
                            <Parametre value="Camera" />
                            <Parametre value="OBJ(Camera[direction])" />
                            <Parametre value="-150" />
                            <Parametre value="0" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="KeyPressed" loc="true" Contraire="false" />
                            <Parametre value="Left" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="ChangeDirection" loc="true" />
                            <Parametre value="Camera" />
                            <Parametre value="100*VAL(timeDelta[])" />
                            <Parametre value="-" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="KeyPressed" loc="true" Contraire="false" />
                            <Parametre value="Down" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="AddForceAL" loc="true" />
                            <Parametre value="Camera" />
                            <Parametre value="OBJ(Camera[direction])" />
                            <Parametre value="150" />
                            <Parametre value="0" />
                        </Action>
                    </Actions>
                </Event>
                <Event>
                    <Type value="AND" />
                    <Conditions>
                        <Condition>
                            <Type value="Collision" loc="true" Contraire="false" />
                            <Parametre value="Wall2D" />
                            <Parametre value="Camera" />
                        </Condition>
                    </Conditions>
                    <Actions>
                        <Action>
                            <Type value="Rebondir" loc="true" />
                            <Parametre value="Camera" />
                            <Parametre value="Wall2D" />
                        </Action>
                    </Actions>
                </Event>
            </Events>
        </Scene>
    </Scenes>
</Game>
