static void Main(string[] args) { // Altseed を初期化します。 Engine.Initialize("~ Altseed2 DEMO ~", 640, 480); // 移動するスプライトを作って、エンジンに登録します。 var sprite1 = new CollidableSprite(); Engine.AddNode(sprite1); // 固定するスプライトを作って、エンジンに登録します。 var sprite2 = new CollidableSprite(); sprite2.Position = new Vector2F(480, 320); Engine.AddNode(sprite2); // コライダを自動処理するノードをシーンに登録します。 var collisionManager = new CollisionManagerNode(); Engine.AddNode(collisionManager); // メインループ。 // Altseed のウインドウが閉じられると終了します。 while (Engine.DoEvents()) { // スプライトの描画位置を更新します。 sprite1.Position = Engine.Mouse.Position; // Altseed を更新します。 Engine.Update(); } // Altseed の終了処理をします。 Engine.Terminate(); }
public void AutoCollisionSystem() { var tc = new TestCore() { Duration = int.MaxValue }; tc.Init(); var texture = Texture2D.Load(@"../../Core/TestData/IO/AltseedPink.png"); Assert.NotNull(texture); var scene = new Altseed.Node(); var manager = new CollisionManagerNode(); scene.AddChildNode(manager); Engine.AddNode(scene); var player = new Player(texture); scene.AddChildNode(player); var comparison = new SpriteNode() { Texture = texture, Position = new Vector2F(300f, 300f) }; var colliderNode = new CircleColliderNode() { Radius = texture.Size.X / 2, Position = comparison.Position }; comparison.AddChildNode(colliderNode); scene.AddChildNode(comparison); tc.LoopBody(null, x => { if (Engine.Keyboard.GetKeyState(Keys.Escape) == ButtonState.Push) { tc.Duration = 0; } if (x == 10) { Assert.True(manager.ContainsCollider(colliderNode)); Assert.AreEqual(manager.ColliderCount, 2); } }); tc.End(); }
public void AutoCollisionSystem_Circle() { var tc = new TestCore(); tc.Init(); //tc.Duration = int.MaxValue; var texture = Texture2D.LoadStrict(@"TestData/IO/AltseedPink.png"); Assert.NotNull(texture); var scene = new Altseed2.Node(); var manager = new CollisionManagerNode(); scene.AddChildNode(manager); Engine.AddNode(scene); var player = new Player_Circle(texture); scene.AddChildNode(player); var comparison = new SpriteNode() { Texture = texture, CenterPosition = texture.Size / 2, Position = new Vector2F(500f, 100f), Scale = new Vector2F(0.8f, 0.8f), }; var colliderNode = new CircleColliderNode() { Radius = texture.Size.X / 2, }; comparison.AddChildNode(colliderNode); colliderNode.AddChildNode(ColliderVisualizeNodeFactory.Create(colliderNode)); scene.AddChildNode(comparison); tc.LoopBody(null, x => { if (Engine.Keyboard.GetKeyState(Key.Escape) == ButtonState.Push) { tc.Duration = 0; } if (x == 10) { Assert.True(manager.ContainsCollider(colliderNode)); Assert.AreEqual(manager.ColliderCount, 2); } }); tc.End(); }