+ Windows now have a default icon ~ Changed CVector.Set(params float[]) to CVector.SetRaw(params float[]) ~ I hope, the text rendering is now fixed. ~ Mouse2D.InWorld(Camera) now uses Camera.CalculatedWorldScale.
101 lines
No EOL
2.8 KiB
C#
101 lines
No EOL
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using OpenTK;
|
|
using OpenTK.Graphics;
|
|
using OpenTK.Graphics.OpenGL;
|
|
using SM.Base.Animation;
|
|
using SM.Base.Controls;
|
|
using SM.Base.Drawing;
|
|
using SM.Base.Drawing.Text;
|
|
using SM.Base.Time;
|
|
using SM.Base.Window;
|
|
using SM2D;
|
|
using SM2D.Drawing;
|
|
using SM2D.Object;
|
|
using SM2D.Scene;
|
|
|
|
namespace SM_TEST
|
|
{
|
|
class Program
|
|
{
|
|
static Scene scene;
|
|
private static GLWindow window;
|
|
private static PolyLine line;
|
|
private static DrawParticles particles;
|
|
|
|
private static InterpolationProcess interpolation;
|
|
static void Main(string[] args)
|
|
{
|
|
Font font = new Font(@"C:\Windows\Fonts\Arial.ttf")
|
|
{
|
|
FontSize = 30,
|
|
};
|
|
font.RegenerateTexture();
|
|
|
|
window = new GLWindow(1280, 720, "0ms", WindowFlags.Window, VSyncMode.Off);
|
|
window.ApplySetup(new Window2DSetup());
|
|
|
|
window.SetScene(scene = new Scene());
|
|
scene.Background.Color = Color4.Blue;
|
|
scene.Camera = new Camera()
|
|
{
|
|
RequestedWorldScale = new Vector2(0, 10)
|
|
};
|
|
|
|
ItemCollection col = new ItemCollection();
|
|
|
|
DrawObject2D textTex = new DrawObject2D()
|
|
{
|
|
Texture = font,
|
|
Material = {Blending = true}
|
|
};
|
|
float aspect = font.Height / (float) font.Width;
|
|
textTex.Transform.Size.Set(font.Width * aspect, font.Height * aspect);
|
|
textTex.Transform.Position.Set(textTex.Transform.Size.X / 2, 0);
|
|
|
|
Vector2 fontSize = new Vector2(font.Width * aspect, font.Height * aspect);
|
|
|
|
Material uvMaterial = new Material()
|
|
{
|
|
Tint = new Color4(1f, 0, 0, .5f),
|
|
Blending = true
|
|
};
|
|
|
|
col.Transform.Size.Set(1);
|
|
|
|
|
|
DrawText test = new DrawText(font, "Level Completed")
|
|
{
|
|
Material = uvMaterial,
|
|
Font = font
|
|
};
|
|
test.Transform.Size.Set(aspect);
|
|
test.Transform.Position.Set(0, 2);
|
|
|
|
|
|
col.Add(test, textTex);
|
|
|
|
scene.Objects.Add(col);
|
|
|
|
window.UpdateFrame += WindowOnUpdateFrame;
|
|
window.RenderFrame += Window_RenderFrame;
|
|
window.Run();
|
|
|
|
Debug.WriteLine("Window Closed");
|
|
}
|
|
|
|
private static void Window_RenderFrame(object sender, FrameEventArgs e)
|
|
{
|
|
window.Title = Math.Floor(e.Time * 1000) + "ms";
|
|
}
|
|
|
|
private static void WindowOnUpdateFrame(object sender, FrameEventArgs e)
|
|
{
|
|
if (Mouse.LeftClick)
|
|
interpolation.Stop();
|
|
if (Mouse.RightClick)
|
|
interpolation.Stop(false);
|
|
}
|
|
}
|
|
} |