Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            var cnf = new Configuration();

            //設定ファイルでtrueとかをfalseをいじれると良い?
            cnf.IsFullscreen = false;
            Engine.Initialize("test", 1280, 720, cnf);
            var m = new MousePointer(new Vector2F(300, 300), resourcePath);
//            var b = new Block(new Vector2F(300, 300), resourcePath, 0 , 0);
            var f    = new Frame(new Vector2F(200, 200), resourcePath);
            var mino = new Mino(new Vector2F(500, 500), resourcePath);

            Engine.AddNode(mino);
            Engine.AddNode(m);
            //           Engine.AddNode(b);
            while (Engine.DoEvents())
            {
                Engine.Update();
                if (Engine.Keyboard.GetKeyState(Key.Escape) == ButtonState.Push)
                {
                    break;
                }
            }
            Engine.Terminate();
        }
Exemple #2
0
        protected override void OnCollide(CollidableObject obj)
        {
            base.OnCollide(obj);
            if (obj is Mino)
            {
                var mino = (Mino)obj;
                if (Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Push)
                {
                }
                if (Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Hold)
                {
                    //参照するMinoを登録する
                    Mino = mino;
                    Vector2F moveVector = (Position - prePosition);
                    Console.WriteLine(moveVector);
                    if (moveVector != new Vector2F(0, 0))
                    {
                        prePosition = Position;
                    }
                    //Console.WriteLine(moveVector);
                    foreach (var m in Mino.mino)
                    {
                        m.Position += moveVector;
                    }
                    mino.Position += moveVector;
                    var mainBlock = mino.mino[Mino.mainBlock];
                    Position    = mainBlock.Position + new Vector2F(mainBlock.Texture.Size.X / 2, mainBlock.Texture.Size.Y / 2);
                    prePosition = Position;
                    doHaveMino  = true;
                }
                if (Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Release)
                {
                    doHaveMino = false;
                }
            }

/*            if(obj is Block)
 *          {
 *              if(Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Hold)
 *              {
 *                  Console.WriteLine("a");
 *                  obj.Position = Engine.Mouse.Position - obj.Texture.Size / 2;
 *                  doHaveMino = true;
 *                  Block = (Block)obj;
 *              }else
 *              {
 *                  doHaveMino = false;
 *              }
 *          }*/
            if (obj is Cell)
            {
/*                if(doHaveMino)
 *              {
 *                  if(Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Release)
 *                  {
 *                      Cell cell = (Cell)obj;
 *                      Block.Scale = new Vector2F(2, 2);
 *                      Block.collider.Size = Block.Texture.Size * 2;
 *                      Block.Position = obj.Position;
 *                      Block = null;
 *                      doHaveMino = false;
 *                      cell.isEmpty = false;
 *                  }
 *              }*/
/*                if(doHaveMino)
 *              {
 *                  if(Engine.Mouse.GetMouseButtonState(MouseButton.ButtonLeft) == ButtonState.Release)
 *                  {
 *                      //objをCellであることを明記する
 *                      Cell cell = (Cell)obj;
 *                      Mino.Scale = new Vector2F(2, 2);
 *                      Mino.collider.Size *= new Vector2F(2, 2);
 *                      Mino.Position = cell.Position;
 *                      Mino = null;
 *                      doHaveMino = false;
 *                  }
 *                  else
 *                  {
 *                  }
 *              }*/
            }
        }