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.