besoin de vos lumiere

Parlez de tout ce qui est lié à Trackmania 2.

Moderator: French Moderator

Post Reply
fafa1107
Posts: 17
Joined: 01 May 2011, 15:30

besoin de vos lumiere

Post by fafa1107 »

Salut, je me suis lancé dans la realisation d'un Ml(les possibilités du maniascript permettent vraiment de belles choses), mais ne maitrisant pas encore toutes ses fonctionnalitées je coince sur un problème de mouseover, j'ai reussi a agrandir une photo au passage de souris, mais je n'arrive pas a controler plusieurs quad different sur la meme page cad a agrandir la photo1 lors du passage de souris sur celle-ci et de meme pour la photo2?
voila mon script pour une photo:

Code: Select all

<?
header("Content-type: text/xml");echo "<?xml version='1.0' encoding='utf-8' standalone='yes'?>\n";
?>
<manialink version="1" >
    <timeout>0</timeout>
    <frame>
  <quad posn="0 0 1" sizen="320 180" image="./photo/ML.png" halign="center" valign="center"/>
  </frame>
    <frame id="cible_photo" posn="0 0 0">
        <!-- The target Quad triggers the Mouse events we want to react on sizen="? 36.5"-->
        <quad id="souris_photo" posn="-78.5 7.75 5" sizen="60 36.5" valign="center" haligne="center" ScriptEvents="1" />
        
        <!-- As we cannot change the bgcolor of a Quad, we use multiple Quads and only display that one with the wanted color -->
        <quad id="pte_photo" posn="-78.5 7.75 5" sizen="60 36.5" valign="center" haligne="center" image="./photo/Race_In_Canyon.jpg" />
        <frame id="grde_photo" >
        <quad posn="0 0 2" sizen="320 180" image="./photo/grde_map.jpg" halign="center" valign="center"/>
        <quad  posn="-83.75 -18.5 5" sizen="175.5 90" valign="center" haligne="center" image="./photo/Race_In_Canyon.jpg" />
        </frame>
    </frame>
    
    <script><!--


// Montrer uniquement la photo en fonction de l'evenement
Void MontrerPhoto(Text ControlID) {
    declare CGameManialinkFrame Container <=> (Page.MainFrame.Controls["cible_photo"] as CGameManialinkFrame);
    foreach(Quad in Container.Controls) {
        if (Quad.Id == "souris_photo" || Quad.Id == ControlID) {
            Quad.Show();
        } else {
            Quad.Hide();
        }
    }
}
// initialisation photo
Void Initialize() {
    declare Integer StartTime for Page = CurrentTime;
    // par defaut on montre la petite image
    MontrerPhoto("pte_photo");
}

main() {
    Initialize();
    while(True) {
        
        foreach(Event in PendingEvents) {
            switch(Event.Type) {
                case CGameManialinkScriptEvent::Type::MouseOver: {
                    MontrerPhoto("grde_photo");
                }
                case CGameManialinkScriptEvent::Type::MouseOut: {
                    MontrerPhoto("pte_photo");
                }
            }
        }
        yield;
    }
}
    --></script>
</manialink>
Merci de vos lumieres!
User avatar
Boss-Bravo
Posts: 241
Joined: 10 Jan 2011, 18:26
Location: Devant mon PC :D
Contact:

Re: besoin de vos lumiere

Post by Boss-Bravo »

Je n'ai pas trop entamé le MS, je compte m'y mettre bientôt, mais si tu arrive a contrôler sur une image, pourquoi pas 2 ?
Il faut que tu mette le même id sur les 2 quads peut-être, non ?
fafa1107
Posts: 17
Joined: 01 May 2011, 15:30

Re: besoin de vos lumiere

Post by fafa1107 »

non justement j'ai tenté de mettre le mm id ou un id diferent,mais rien a faire :oops:
User avatar
Boss-Bravo
Posts: 241
Joined: 10 Jan 2011, 18:26
Location: Devant mon PC :D
Contact:

Re: besoin de vos lumiere

Post by Boss-Bravo »

Peut-être mettre ScriptEvents="1" a chaque quad que tu veut modifier ?
Post Reply

Return to “Trackmania 2”

Who is online

Users browsing this forum: Bing [Bot] and 1 guest