예제 #1
0
        protected override void Update(GameTime gameTime)
        {
            MouseState ms = Mouse.GetState();

            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            wykryjNrAktualnegoKlawisza(ms);

            if (ms.LeftButton == ButtonState.Pressed)
            {
                if (aktualnyNrNuty != 15)
                {
                    synchronizator.NoteOn(aktualnyNrNuty);
                    nacisnietoKlawisz(aktualnyNrNuty);
                }

                if (record == true)
                {
                    timer += (float)gameTime.ElapsedGameTime.TotalMilliseconds; //Rozpoczêcie naliczania "czasu przyciœciêcia klawisza"
                    press = true; // do nagrywania
                }

                played = true;
            }
            else if (ms.LeftButton == ButtonState.Released)
            {
                synchronizator.NoteOff(aktualnyNrNuty);
                resetujKlawisz(aktualnyNrNuty);

                if (record == true)
                {
                    timerk2k += (float)gameTime.ElapsedGameTime.TotalMilliseconds; //Rozpoczêcie naliczania "czasu przyciœciêcia klawisza"
                }

                if (nagrywanieButton.Contains(new Point(ms.X, ms.Y)) && record == false)
                {
                    recorded = true;
                    ListaNagrania.Clear();
                    record = true;
                    played = true;

                }
                if (nagrywanieStopButton.Contains(new Point(ms.X, ms.Y)))
                {
                    if (recorded)
                    {
                        playing = false;
                        recorded = false;
                    }

                    record = false;
                }

                if (odtwarzanieButton.Contains(new Point(ms.X, ms.Y)) && record == false && recorded == false)
                {
                    Play();
                }

                if (record == true && press == true)
                {
                    //Lista kolejno naciskanych klawiszy razem z czasem naciskania; Nie mo¿na naciskaæ kilku na raz !!!
                    Klawisz kl = new Klawisz();
                    kl.nr_klawisza = aktualnyNrNuty;
                    kl.czas = timer;
                    kl.oczekiwanie = timerk2k;// tu nale¿y wstawiæ i obs³u¿yæ timer_k2k.

                    if (kl.nr_klawisza != 15)
                    {
                        ListaNagrania.Add(kl);
                    }

                    timerk2k = 0;

                    Debug.WriteLine("Klawisz nr: " + kl.nr_klawisza + "|Oczekiwanie: " + kl.oczekiwanie + "|Czas: " + kl.czas);
                }

                press = false; //rec
                timer = 0;     //rec
            }

            synchronizator.Update(gameTime);
            base.Update(gameTime);
        }
예제 #2
0
        protected override void Update(GameTime gameTime)
        {
            MouseState ms = Mouse.GetState();

            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            {
                this.Exit();
            }

            wykryjNrAktualnegoKlawisza(ms);

            if (ms.LeftButton == ButtonState.Pressed)
            {
                if (aktualnyNrNuty != 15)
                {
                    synchronizator.NoteOn(aktualnyNrNuty);
                    nacisnietoKlawisz(aktualnyNrNuty);
                }

                if (record == true)
                {
                    timer += (float)gameTime.ElapsedGameTime.TotalMilliseconds; //Rozpoczêcie naliczania "czasu przyciœciêcia klawisza"
                    press  = true;                                              // do nagrywania
                }

                played = true;
            }
            else if (ms.LeftButton == ButtonState.Released)
            {
                synchronizator.NoteOff(aktualnyNrNuty);
                resetujKlawisz(aktualnyNrNuty);

                if (record == true)
                {
                    timerk2k += (float)gameTime.ElapsedGameTime.TotalMilliseconds; //Rozpoczêcie naliczania "czasu przyciœciêcia klawisza"
                }

                if (nagrywanieButton.Contains(new Point(ms.X, ms.Y)) && record == false)
                {
                    recorded = true;
                    ListaNagrania.Clear();
                    record = true;
                    played = true;
                }
                if (nagrywanieStopButton.Contains(new Point(ms.X, ms.Y)))
                {
                    if (recorded)
                    {
                        playing  = false;
                        recorded = false;
                    }

                    record = false;
                }

                if (odtwarzanieButton.Contains(new Point(ms.X, ms.Y)) && record == false && recorded == false)
                {
                    Play();
                }

                if (record == true && press == true)
                {
                    //Lista kolejno naciskanych klawiszy razem z czasem naciskania; Nie mo¿na naciskaæ kilku na raz !!!
                    Klawisz kl = new Klawisz();
                    kl.nr_klawisza = aktualnyNrNuty;
                    kl.czas        = timer;
                    kl.oczekiwanie = timerk2k;// tu nale¿y wstawiæ i obs³u¿yæ timer_k2k.

                    if (kl.nr_klawisza != 15)
                    {
                        ListaNagrania.Add(kl);
                    }

                    timerk2k = 0;

                    Debug.WriteLine("Klawisz nr: " + kl.nr_klawisza + "|Oczekiwanie: " + kl.oczekiwanie + "|Czas: " + kl.czas);
                }

                press = false; //rec
                timer = 0;     //rec
            }


            synchronizator.Update(gameTime);
            base.Update(gameTime);
        }