[Maniascript] Question pour les developpeurs
Posted: 15 Apr 2013, 08:54
Bonjour,
Je suis actuellement en train de me pencher sur le maniascript pour faire un mode de jeux.
Je commence à bien comprendre comment cela fonctionne mais j'ai besoin de petites précisions :
Comment affiche t'on un sprite sur l'UI ? J'ai recuperer du code du mode Rabbit, voila ce que ça donne, mais ca ne fonctionne pas (rien n'apparait) :
Je pense qu'il doit y avoir une erreur bête, si quelqu'un pouvais m'expliquer comment faire, j'en serai reconnaissant. Et je pense que sa pourra servir au autres personne qui vont lire ce post.
Merci.
Je suis actuellement en train de me pencher sur le maniascript pour faire un mode de jeux.
Je commence à bien comprendre comment cela fonctionne mais j'ai besoin de petites précisions :
Comment affiche t'on un sprite sur l'UI ? J'ai recuperer du code du mode Rabbit, voila ce que ça donne, mais ca ne fonctionne pas (rien n'apparait) :
Code: Select all
#Const C_ImgBaseDir "file://Media/Manialinks/Shootmania/Common/"
Code: Select all
Text CreateFlag()
{
declare Vec3 RedColor = <1., 0., 0.>;
declare Vec3 BlueColor = <0., 0., 1.>;
declare Text ImgPoleEngageLeft = C_ImgBaseDir^"shield_left.dds";
declare Text ImgPoleEngageRight = C_ImgBaseDir^"shield_right.dds";
declare Real WidthFactor = 9./16.;
declare Real EngagePoleImgSize = 7.;
declare Text MLPage;
MLPage = """
<frame id="Flag" >
<frame id="EngagePoleFrame">
<quad posn="-0.1 0." halign="center" valign="center" sizen="{{{WidthFactor*EngagePoleImgSize}}} {{{EngagePoleImgSize}}}" image="{{{
ImgPoleEngageLeft}}}" colorize="{{{RedColor.X}}} {{{RedColor.Y}}} {{{RedColor.Z}}}" autoscale="False" />
<quad posn="0.1 0." halign="center" valign="center" sizen="{{{WidthFactor*EngagePoleImgSize}}} {{{EngagePoleImgSize}}}" image="{{{
ImgPoleEngageRight}}}" colorize="{{{BlueColor.X}}} {{{BlueColor.Y}}} {{{BlueColor.Z}}}" autoscale="False" />
</frame>
</frame>""";
return MLPage;
}
Code: Select all
// Create the markers
declare LayerFlag <=> UIManager.UILayerCreate();
LayerFlag.Type = CUILayer::EUILayerType::Markers;
LayerFlag.ManialinkPage = CreateFlag();
UIManager.UIAll.UILayers.add(LayerFlag);
Code: Select all
declare Vec3 FlagPos = Players[HighlightedPlayers[Clan]].Position; //HighlightedPlayers[Clan] == Ident
MarkerText ^= """<marker manialinkframeid="Flag" pos="{{{FlagPos.X}}} {{{FlagPos.Y}}} {{{FlagPos.Z}}}" />""";
MarkerText ^= """<marker manialinkframeid="Flag" playerlogin="{{{Players[HighlightedPlayers[Clan]].User.Login}}}" />""";
UIManager.UIAll.Hud3dMarkers = MarkerText;
Merci.