本文整理汇总了C#中Point2D.Lerp2D方法的典型用法代码示例。如果您正苦于以下问题:C# Point2D.Lerp2D方法的具体用法?C# Point2D.Lerp2D怎么用?C# Point2D.Lerp2D使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Point2D
的用法示例。
在下文中一共展示了Point2D.Lerp2D方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CompileLayout
protected override void CompileLayout(SuperGumpLayout layout)
{
base.CompileLayout(layout);
double fp = FrameIndex / (double)FrameCount;
layout.Add(
"conquest/bg",
() =>
{
const int x = 35, y = 64;
int w = 315, h = 80;
if (fp <= 0.75)
{
w = (int)Math.Ceiling((fp / 0.75) * w);
}
if (w > 0 && h > 0)
{
AddBackground(x, y, w, h, 2620);
}
if (w > 10 && h > 10)
{
AddAlphaRegion(x + 5, y + 5, w - 10, h - 10);
}
});
layout.Add(
"conquest/dragon",
() =>
{
if (AnimState == true)
{
var p = new Point2D(117, 54);
int itemID;
if (fp <= 0.80)
{
if (!_Sound1)
{
User.PlaySound(551);
_Sound1 = true;
}
itemID = 14078 + (int)Math.Floor(10 * (fp / 0.80)); //fireball
p = p.Lerp2D(310, 104, fp);
}
else
{
if (!_Sound2)
{
User.PlaySound(520);
_Sound2 = true;
}
itemID = 14002 + (int)Math.Floor(30 * ((fp - 0.80) / 0.20)); //explosion
p = p.Lerp2D(272, 80, fp);
}
AddItem(p.X, p.Y, itemID);
}
AddImage(0, 0, 10400); //dragon
});
layout.Add(
"conquest/badge",
() =>
{
AddImage(20, 65, 1417); //plate
if (AnimState == true && fp <= 0.50)
{
AddItem(30, 80, 14002 + (int)Math.Floor(30 * (fp / 0.50)));
}
else if (State.Conquest.Hue > 0)
{
AddItem(35, 85, State.Conquest.ItemID, State.Conquest.Hue);
}
else
{
AddItem(35, 85, State.Conquest.ItemID);
}
});
layout.Add(
"conquest/title",
() =>
{
if (fp >= 0.80)
{
AddLabelCropped(105, 70, 170, 20, HighlightHue, "CONQUEST UNLOCKED!");
}
});
//.........这里部分代码省略.........