本文整理汇总了C#中ICamera2D.ToScreen方法的典型用法代码示例。如果您正苦于以下问题:C# ICamera2D.ToScreen方法的具体用法?C# ICamera2D.ToScreen怎么用?C# ICamera2D.ToScreen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICamera2D
的用法示例。
在下文中一共展示了ICamera2D.ToScreen方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Draw
/// <summary>
/// Draws the <see cref="ITransBox"/>.
/// </summary>
/// <param name="spriteBatch">The <see cref="ISpriteBatch"/> to draw to.</param>
/// <param name="camera">The <see cref="ICamera2D"/>.</param>
public void Draw(ISpriteBatch spriteBatch, ICamera2D camera)
{
var p = camera.ToScreen(Position).Round();
var s = Size.Round();
var r = new Rectangle((int)p.X, (int)p.Y, (int)s.X, (int)s.Y);
SystemSprites.Move.Draw(spriteBatch, r, Color.White);
}
示例2: Draw
/// <summary>
/// Draws the <see cref="ITransBox"/>.
/// </summary>
/// <param name="spriteBatch">The <see cref="ISpriteBatch"/> to draw to.</param>
/// <param name="camera">The <see cref="ICamera2D"/>.</param>
public void Draw(ISpriteBatch spriteBatch, ICamera2D camera)
{
var sprite = GetSprite(_type);
if (sprite == null)
return;
var p = camera.ToScreen(Position).Round();
var s = Size.Round();
var r = new Rectangle((int)p.X, (int)p.Y, (int)s.X, (int)s.Y);
p = camera.ToScreen(GetPosition() + Vector2.One).Round();
bool okFlag = false;
if (ContainsPoint(camera.ToWorld(p))) // Something went right
okFlag = true;
var newR = new Rectangle((int)p.X, (int)p.Y, (int)s.X, (int)s.Y);
sprite.Draw(spriteBatch, r, Color.White);
// Draw a marker at ACTUAL transbox positions for debug purposes.
if (okFlag)
sprite.Draw(spriteBatch, newR, Color.Green);
else
sprite.Draw(spriteBatch, newR, Color.Red);
}
示例3: Draw
/// <summary>
/// Draws the <see cref="ITransBox"/>.
/// </summary>
/// <param name="spriteBatch">The <see cref="ISpriteBatch"/> to draw to.</param>
/// <param name="camera">The <see cref="ICamera2D"/>.</param>
public void Draw(ISpriteBatch spriteBatch, ICamera2D camera)
{
Vector2 p = camera.ToScreen(Position).Round();
Vector2 s = Size.Round();
Rectangle r = new Rectangle(p.X, p.Y, s.X, s.Y);
SystemSprites.Move.Draw(spriteBatch, r, Color.White);
}
示例4: Draw
/// <summary>
/// Draws the <see cref="ITransBox"/>.
/// </summary>
/// <param name="spriteBatch">The <see cref="ISpriteBatch"/> to draw to.</param>
/// <param name="camera">The <see cref="ICamera2D"/>.</param>
public void Draw(ISpriteBatch spriteBatch, ICamera2D camera)
{
var sprite = GetSprite(_type);
if (sprite == null)
return;
Vector2 p = camera.ToScreen(Position).Round();
Vector2 s = Size.Round();
Rectangle r = new Rectangle(p.X, p.Y, s.X, s.Y);
sprite.Draw(spriteBatch, r, Color.Green);
}