private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            getInstance = this;

            rand = new Random();

            mainCanvas = MainCanvas;

            #region background
            background = new Image();
            background.Source = null;
            background.Width = 960;
            background.Height = 540;
            background.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
            background.VerticalAlignment = System.Windows.VerticalAlignment.Top;
            background.Margin = new Thickness(0, 0, 0, 0);
            //mainCanvas.Children.Add(background);

            stateSetInit();

            titleTex = new BitmapImage(new Uri("/MuscleShooting;component/Resource/Back/ArrowSimulaterTitle.png", System.UriKind.Relative));

            tutorialTex = new BitmapImage[4];
            for (int i = 0; i < 4; i++) {
                tutorialTex[i] = new BitmapImage(new Uri("/MuscleShooting;component/Resource/Back/ArrowSimulaterTutorial0" + i.ToString() + ".png", System.UriKind.Relative));
            }
            BackgroundTex =  new BitmapImage(new Uri("/MuscleShooting;component/Resource/Back/ArrowSimulaterBackground01.png", System.UriKind.Relative));
            ResultBackTex = new BitmapImage(new Uri("/MuscleShooting;component/Resource/Back/ArrowSimulaterBackground00.png", System.UriKind.Relative));
            resultTex = new BitmapImage(new Uri("/MuscleShooting;component/Resource/Score/ArrowSimulaterResult.png", System.UriKind.Relative));
            rankingTex = new BitmapImage(new Uri("/MuscleShooting;component/Resource/Score/ArrowSimulaterRanking.png", System.UriKind.Relative));
            SoremadeTex = new BitmapImage(new Uri("/MuscleShooting;component/Resource/Back/soremade.png", System.UriKind.Relative));
            #endregion

            KinectManager kinectManager = new KinectManager();
            kinectManager.Initialize();

            Bow bow = new Bow();
            bow.Initialize();

            SpriteManager spriteManager = new SpriteManager();
            spriteManager.Initialize();

            ShootLine shootLine = new ShootLine();
            shootLine.Initialize();

            new EffectManager().Initilize();

            dispatcherTimer = new DispatcherTimer();

            dispatcherTimer.Interval = new TimeSpan(166666L);

            dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);

            dispatcherTimer.Start();

            player = new Player();

            enemy = new EnemyBase[EMax];
            for (int i = 0; i < EMax; i++) enemy[i] = new EnemyBase();

            playersShoot = new ObjectBase[SMax];
            for (int i = 0; i < SMax; i++) playersShoot[i] = new ShootNormal();
            Player.getInstance.shoot = playersShoot;
            //shoot = new Shoot();

            ScoreManager scoreManager = new ScoreManager();
            scoreManager.Initialize();

            //int[] sL = { 100, 300, 500, 1000, 2000, 4000, 8000 };
            //ScoreManager.getInstance.scoreRoot.Add(sL);
            #if false
            TMax = 40;
            target = new TargetBase[TMax];

            for (int i = 0; i < TMax - 15; i++) {
                target[i] = new TargetSimple();
                //target[i].setPosition((float)rand.NextDouble() * 250 + 50, (float)rand.NextDouble() * 400 + 100);
            }
            for (int i = TMax - 15; i < TMax - 3; i++) {
                target[i] = new TargetSmall();
            }
            for (int i = TMax - 3; i < TMax; i++) {
                target[i] = new TargetFire();
            }
            target[0].setPosition(100, 400);

            targetIndex = 0;

            //imageSet.Source = SpriteManager.images[0];
            #endif
        }
        public void Initialize()
        {
            getInstance = this;

            #if false
            images = new BitmapImage[24];
            imageSize = new int[24];
            try {
                images[0] = new BitmapImage(new Uri("/MuscleShooting;component/Resource/TargetSample.png", System.UriKind.Relative));
                imageSize[0] = 64;
                for (int i = 0; i < 4; i++) {
                    images[i + 1] = new BitmapImage(new Uri("/ArrowSimulater;component/Resource/fire" + i.ToString() + ".png", System.UriKind.Relative));
                    imageSize[i + 1] = 64;
                }//5
                for (int i = 0; i < 7; i++) {
                    images[i + 5] = new BitmapImage(new Uri("/ArrowSimulater;component/Resource/Target/Sample/TargetSample" + i.ToString() + ".png", System.UriKind.Relative));
                    imageSize[i + 5] = 128;
                }//12
                images[12] = new BitmapImage(new Uri("/ArrowSimulater;component/Resource/Score/Kakejiku.png", System.UriKind.Relative));
                imageSize[12] = 100;
                for (int i = 0; i < 10; i++) {
                    images[i + 13] = new BitmapImage(new Uri("/ArrowSimulater;component/Resource/Score/ArrowSimulaterScore" + i.ToString() + ".png", System.UriKind.Relative));
                    imageSize[i + 13] = 64;
                }//23
                images[23] = new BitmapImage(new Uri("/ArrowSimulater;component/Resource/Score/Kakejiku2.png", System.UriKind.Relative));
                imageSize[23] = 100;
            }
            catch {
                Console.WriteLine("false");
            }
            #else
            spriteData = new SpriteData[100];
            for (int i = 0; i < 100; i++) spriteData[i] = new SpriteData();
            try {
                spriteData[0] = SpriteData.Load("Resource/TargetSample.png", 64, 64);
                for (int i = 0; i < 4; i++) {
                    spriteData[i + 1] = SpriteData.Load("Resource/fire" + i.ToString() + ".png", 64, 64);
                }//5
                for (int i = 0; i < 7; i++) {
                    spriteData[i + 5] = SpriteData.Load("Resource/Target/Sample/TargetSample" + i.ToString() + ".png", 128, 128);
                }//12
                spriteData[12] = SpriteData.Load("Resource/Score/Kakejiku.png", 100, 360);
                for (int i = 0; i < 10; i++) {
                    spriteData[i + 13] = SpriteData.Load("Resource/Score/ArrowSimulaterScore" + i.ToString() + ".png", 64, 64);
                }//23
                spriteData[23] = SpriteData.Load("Resource/Score/Kakejiku2.png", 100, 360);
                spriteData[24] = SpriteData.Load("Resource/Player/MuschoMan00.png", 128, 128);
                // 25
                for (int i = 0; i < 8; i++) {
                    spriteData[i + 25] = SpriteData.Load("Resource/Player/MuschoMan1" + i.ToString() + ".png", 128, 128);
                }
                // 33
                for (int i = 0; i < 4; i++) {
                    spriteData[i + 33] = SpriteData.Load("Resource/Enemy/Angel0" + i.ToString() + ".png", 64, 64);
                }
                // 37
                for (int i = 0; i < 3; i++) {
                    spriteData[i + 37] = SpriteData.Load("Resource/Shoot/ShootA0" + i.ToString() + ".png", 64, 64);
                }
                // 40
                for (int i = 0; i < 10; i++) {
                    spriteData[i + 40] = SpriteData.Load("Resource/Shoot/ShootEx0" + i.ToString() + ".png", 128, 128);
                }
            }
            catch {
                Console.WriteLine("false");
            }
            #endif
            sprite = new Sprite[SpriteMax];
            for (int i = 0; i < SpriteMax; i++) sprite[i] = new Sprite();

            index = 0;
        }