コード例 #1
0
ファイル: Pipe.cs プロジェクト: meckyr/NursaRhythm
        public override void Update(RenderContext renderContext)
        {
            // pastiin frame-rate independent
            // background
            var objectSpeed = renderContext.GameSpeed * BackgroundSpeed;

            objectSpeed *= (float)renderContext.GameTime.ElapsedGameTime.TotalSeconds;

            var objectPosX = bg1.LocalPosition.X - objectSpeed;

            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            bg1.Translate(objectPosX, posY);

            objectPosX = bg2.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            bg2.Translate(objectPosX, posY);

            base.Update(renderContext);
        }
コード例 #2
0
        public override void Initialize()
        {
            bg1 = new GameSprite("title\\background1");
            AddChild(bg1);

            bg2 = new GameSprite("title\\background2");
            bg2.Translate(0, -480);
            AddChild(bg2);

            base.Initialize();
        }
コード例 #3
0
ファイル: Note.cs プロジェクト: meckyr/NursaRhythm
        public override void Initialize()
        {
            note        = new GameSprite(fileName);
            note.Origin = new Vector2(25, 25);
            note.Translate(position);
            note.CreateBoundingRect(50, 50, true);
            note.CanDraw = false;
            AddChild(note);

            base.Initialize();
        }
コード例 #4
0
        public override void Initialize()
        {
            bg = new GameSprite("select\\background");
            bg.Scale(0.5f, 0.5f);
            AddSceneObject(bg);

            pole = new GameObject2D();
            pole.Translate(400, 240);
            AddSceneObject(pole);

            level1        = new GameAnimatedSprite("select\\levelunlockanimated", 4, 80, new Point(78, 76));
            level1.Origin = new Vector2(39, 38);
            level1.Translate(811, 597);
            AddSceneObject(level1);

            level2        = new GameSprite("select\\levellock");
            level2.Origin = new Vector2(39, 38);
            level2.Translate(800, 778);
            AddSceneObject(level2);

            level3        = new GameSprite("select\\levellock");
            level3.Origin = new Vector2(39, 38);
            level3.Translate(693, 755);
            AddSceneObject(level3);

            level4        = new GameSprite("select\\levellock");
            level4.Origin = new Vector2(39, 38);
            level4.Translate(1083, 831);
            AddSceneObject(level4);

            level1_b        = new GameButton("select\\levelunlock", false, true, true);
            level1_b.Origin = new Vector2(39, 38);
            level1_b.Translate(811, 597);
            level1_b.OnClick += () =>
            {
                if (!isLevelSelected)
                {
                    SceneManager.push.Play();
                    CameraManager.getInstance().camera.SetScreenCenter(4, 2);
                    CameraManager.getInstance().camera.Focus = level1_b;

                    level1.PlayAnimation(true);
                    SetBoxDraw(true);

                    isLevelSelected = true;
                }
            };
            AddSceneObject(level1_b);

            InitiateBox();
        }
コード例 #5
0
ファイル: TitleScreen.cs プロジェクト: meckyr/NursaRhythm
        public override void Initialize()
        {
            bg = new Background0();
            AddSceneObject(bg);

            light = new GameSprite("title\\lighting");
            AddSceneObject(light);

            back         = new GameSprite("title\\background");
            back.CanDraw = false;
            AddSceneObject(back);

            scroll = new GameAnimatedSprite("title\\scroll", 6, 80, new Point(640, 384), 3);
            scroll.Scale(1.25f, 1.25f);
            scroll.PlayAnimation(true);
            AddSceneObject(scroll);

            scrollUp = new GameAnimatedSprite("title\\scrollup", 6, 80, new Point(640, 384), 3);
            scrollUp.Scale(1.25f, 1.25f);
            scrollUp.CanDraw = false;
            AddSceneObject(scrollUp);

            logo        = new GameSprite("title\\logo");
            logo.Origin = new Vector2(275.5f, 74.5f);
            logo.Translate(400, 240);
            logo.Scale(0.8f, 0.8f);
            AddSceneObject(logo);

            tap        = new GameButton("title\\tap", true, false, true);
            tap.Origin = new Vector2(191.5f, 32);
            tap.Translate(400, 400);
            tap.OnClick += () =>
            {
                SceneManager.paper.Play();
                bg.UpdateBackgroundSpeed(0);

                back.CanDraw   = true;
                tap.CanDraw    = false;
                scroll.CanDraw = false;
                logo.CanDraw   = false;

                scrollUp.CanDraw = true;
                scrollUp.PlayAnimation(false);
            };
            AddSceneObject(tap);

            base.Initialize();
        }
コード例 #6
0
ファイル: Pipe.cs プロジェクト: meckyr/NursaRhythm
        public override void Initialize()
        {
            bg1 = new GameSprite(assetName);
            bg1.Translate(0, posY);
            bg1.Color = Color.White * 0.5f;
            AddChild(bg1);

            bg2 = new GameSprite(assetName);
            bg2.Translate(800, posY);
            bg2.Color = Color.White * 0.5f;
            AddChild(bg2);

            road = new GameSprite("level1\\road");
            road.Translate(73, posY);
            AddChild(road);

            base.Initialize();
        }
コード例 #7
0
ファイル: LongNote.cs プロジェクト: meckyr/NursaRhythm
        public override void Initialize()
        {
            block        = new GameSprite("level1\\block");
            block.Origin = new Vector2(0, 25);
            block.CreateBoundingRect(50, 50, new Vector2(0, -25), false);
            block.Scale(scale);
            block.Translate(position);
            block.CanDraw = false;
            AddChild(block);

            noteIn = new Note(position, "level1\\note");
            AddChild(noteIn);

            noteOut = new Note(position + scale * new Vector2(50, 0), "level1\\noteend");
            AddChild(noteOut);

            base.Initialize();
        }
コード例 #8
0
ファイル: Background1.cs プロジェクト: meckyr/NursaRhythm
        public override void Initialize()
        {
            bg1 = new GameSprite("level1\\background1");
            AddChild(bg1);

            bg2 = new GameSprite("level1\\background2");
            bg2.Translate(800, 0);
            AddChild(bg2);

            scenery1 = new GameAnimatedSprite("level1\\scenery1", 8, 400, new Point(800, 234), 2);
            scenery1.PlayAnimation(true);
            scenery1.Translate(0, 250);
            scenery1.CanDraw = false;
            AddChild(scenery1);

            scenery2 = new GameAnimatedSprite("level1\\scenery1", 8, 400, new Point(800, 234), 2);
            scenery2.PlayAnimation(true);
            scenery2.Translate(800, 250);
            scenery2.CanDraw = false;
            AddChild(scenery2);

            scenery3 = new GameAnimatedSprite("level1\\scenery2", 8, 400, new Point(800, 234), 2);
            scenery3.PlayAnimation(true);
            scenery3.Translate(0, 250);
            scenery3.CanDraw = false;
            AddChild(scenery3);

            scenery4 = new GameAnimatedSprite("level1\\scenery2", 8, 400, new Point(800, 234), 2);
            scenery4.PlayAnimation(true);
            scenery4.Translate(800, 250);
            scenery4.CanDraw = false;
            AddChild(scenery4);

            scenery5 = new GameAnimatedSprite("level1\\scenery3", 8, 400, new Point(800, 234), 2);
            scenery5.PlayAnimation(true);
            scenery5.Translate(0, 250);
            scenery5.CanDraw = false;
            AddChild(scenery5);

            scenery6 = new GameAnimatedSprite("level1\\scenery3", 8, 400, new Point(800, 234), 2);
            scenery6.PlayAnimation(true);
            scenery6.Translate(800, 250);
            scenery6.CanDraw = false;
            AddChild(scenery6);

            scenery7 = new GameAnimatedSprite("level1\\scenery4", 8, 400, new Point(800, 234), 2);
            scenery7.PlayAnimation(true);
            scenery7.Translate(0, 250);
            scenery7.CanDraw = false;
            AddChild(scenery7);

            scenery8 = new GameAnimatedSprite("level1\\scenery4", 8, 400, new Point(800, 234), 2);
            scenery8.PlayAnimation(true);
            scenery8.Translate(800, 250);
            scenery8.CanDraw = false;
            AddChild(scenery8);

            scenery9 = new GameAnimatedSprite("level1\\scenery5", 8, 400, new Point(800, 234), 2);
            scenery9.PlayAnimation(true);
            scenery9.Translate(0, 250);
            scenery9.CanDraw = false;
            AddChild(scenery9);

            scenery10 = new GameAnimatedSprite("level1\\scenery5", 8, 400, new Point(800, 234), 2);
            scenery10.PlayAnimation(true);
            scenery10.Translate(800, 250);
            scenery10.CanDraw = false;
            AddChild(scenery10);

            scenery11 = new GameAnimatedSprite("level1\\scenery6", 8, 400, new Point(800, 234), 2);
            scenery11.PlayAnimation(true);
            scenery11.Translate(0, 250);
            scenery11.CanDraw = false;
            AddChild(scenery11);

            scenery12 = new GameAnimatedSprite("level1\\scenery6", 8, 400, new Point(800, 234), 2);
            scenery12.PlayAnimation(true);
            scenery12.Translate(800, 250);
            scenery12.CanDraw = false;
            AddChild(scenery12);

            scenery13 = new GameAnimatedSprite("level1\\scenery7", 8, 400, new Point(800, 234), 2);
            scenery13.PlayAnimation(true);
            scenery13.Translate(0, 250);
            scenery13.CanDraw = false;
            AddChild(scenery13);

            scenery14 = new GameAnimatedSprite("level1\\scenery7", 8, 400, new Point(800, 234), 2);
            scenery14.PlayAnimation(true);
            scenery14.Translate(800, 250);
            scenery14.CanDraw = false;
            AddChild(scenery14);

            base.Initialize();
        }
コード例 #9
0
ファイル: Background1.cs プロジェクト: meckyr/NursaRhythm
        public override void Update(RenderContext renderContext)
        {
            // pastiin frame-rate independent
            // background
            var objectSpeed = renderContext.GameSpeed * BackgroundSpeed;

            objectSpeed *= (float)renderContext.GameTime.ElapsedGameTime.TotalSeconds;

            var objectPosX = bg1.LocalPosition.X - objectSpeed;

            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            bg1.Translate(objectPosX, 0);

            objectPosX = bg2.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            bg2.Translate(objectPosX, 0);

            objectPosX = scenery1.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery1.Translate(objectPosX, 250);

            objectPosX = scenery2.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery2.Translate(objectPosX, 250);

            objectPosX = scenery3.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery3.Translate(objectPosX, 250);

            objectPosX = scenery4.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery4.Translate(objectPosX, 250);

            objectPosX = scenery5.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery5.Translate(objectPosX, 250);

            objectPosX = scenery6.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery6.Translate(objectPosX, 250);

            objectPosX = scenery7.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery7.Translate(objectPosX, 250);

            objectPosX = scenery8.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery8.Translate(objectPosX, 250);

            objectPosX = scenery9.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery9.Translate(objectPosX, 250);

            objectPosX = scenery10.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery10.Translate(objectPosX, 250);

            objectPosX = scenery11.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery11.Translate(objectPosX, 250);

            objectPosX = scenery12.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery12.Translate(objectPosX, 250);

            objectPosX = scenery13.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery13.Translate(objectPosX, 250);

            objectPosX = scenery14.LocalPosition.X - objectSpeed;
            if (objectPosX < -800)
            {
                objectPosX += 1600;
            }

            scenery14.Translate(objectPosX, 250);

            TimingScenery();

            base.Update(renderContext);
        }
コード例 #10
0
        public void InitiateBox()
        {
            box        = new GameSprite("select\\infobox");
            box.Origin = new Vector2(182.5f, 182.5f);
            box.Translate(550, 220);
            box.CanDraw = false;
            AddHUDObjectFront(box);

            star1        = new GameSprite("select\\star1");
            star1.Origin = new Vector2(36.5f, 36.5f);
            star1.Translate(550, 290);
            star1.CanDraw = false;
            AddHUDObjectFront(star1);

            star2        = new GameSprite("select\\star1");
            star2.Origin = new Vector2(36.5f, 36.5f);
            star2.Translate(480, 290);
            star2.CanDraw = false;
            AddHUDObjectFront(star2);

            star3        = new GameSprite("select\\star1");
            star3.Origin = new Vector2(36.5f, 36.5f);
            star3.Translate(620, 290);
            star3.CanDraw = false;
            AddHUDObjectFront(star3);

            song = new SpriteFonts("font\\fontbold");
            song.Translate(435, 95);
            song.Color   = Color.SaddleBrown;
            song.Text    = "AMPAR-AMPAR\n         PISANG";
            song.CanDraw = false;
            AddHUDObjectFront(song);

            line1        = new GameSprite("select\\line");
            line1.Origin = new Vector2(132, 4.5f);
            line1.Translate(550, 180);
            line1.CanDraw = false;
            AddHUDObjectFront(line1);

            region = new SpriteFonts("font\\font");
            region.Translate(440, 195);
            region.Color   = Color.SaddleBrown;
            region.Text    = "South Kalimantan";
            region.CanDraw = false;
            AddHUDObjectFront(region);

            line2        = new GameSprite("select\\line");
            line2.Origin = new Vector2(132, 4.5f);
            line2.Translate(550, 240);
            line2.CanDraw = false;
            AddHUDObjectFront(line2);

            text = new SpriteFonts("font\\font");
            text.Translate(15, 15);
            text.Color = Color.SaddleBrown;
            text.Text  = "Select Level/Region...";
            AddHUDObjectFront(text);

            play        = new GameButton("select\\playbutton", true, false, true);
            play.Origin = new Vector2(90.5f, 44.5f);
            play.Translate(550, 385);
            play.CanDraw  = false;
            play.OnClick += () =>
            {
                if (isLevelSelected)
                {
                    SceneManager.push.Play();
                    SceneManager.SetActiveScene("Level1");
                    SceneManager.ActiveScene.ResetScene();
                    SceneManager.PlaySong(2);

                    play.CanDraw = false;
                }
            };
            AddHUDObjectFront(play);
        }
コード例 #11
0
        public override void Initialize()
        {
            // set game speed
            SceneManager.RenderContext.GameSpeed = 100;
            random = new Random();

            notes     = new List <Note>();
            longNotes = new List <LongNote>();

            bg = new Background1();
            AddHUDObjectBack(bg);

            pipe = new Pipe("level1\\pipe", 50);
            AddHUDObjectBack(pipe);

            indicator = new Indicator();
            AddHUDObjectFront(indicator);

            text       = new SpriteFonts("font\\font");
            text.Color = Color.SaddleBrown;
            text.Translate(580, 10);
            AddHUDObjectBack(text);

            fire         = new GameButton("level1\\invisbutton", false, false, false);
            fire.CanDraw = false;
            fire.Translate(400, 0);
            fire.OnEnter += () =>
            {
                if (!isFailed && !isFinished)
                {
                    SceneManager.Vibrator.Start(TimeSpan.FromMilliseconds(100));
                    indicator.Pushed();
                    //Debug.WriteLine(MediaPlayer.PlayPosition);
                    if (LongNoteCheck() == 0)
                    {
                        //Debug.WriteLine(mainChar.Sprite.Position.X);
                        SpawnScore(NoteCheck());
                    }
                    else
                    {
                        //Debug.WriteLine(mainChar.Sprite.Position.X);
                        mainChar.LightOnForever();
                        SceneManager.pulse2.Play();
                    }
                }
            };
            fire.OnClick += () =>
            {
                if (!isFailed && !isFinished)
                {
                    //Debug.WriteLine(mainChar.Sprite.Position.X);
                    indicator.Pulled();
                    SpawnScore(NoteCheckOut());
                }
            };
            fire.OnLeave += () =>
            {
                indicator.Pulled();
            };
            AddHUDObjectBack(fire);

            InitiateScoring();
            InitiateNote();
            InitiateLongNote();

            mainChar = new MainCharacter(50, 300, indicator);
            AddSceneObject(mainChar);

            failed        = new GameSprite("level1\\boxfailed");
            failed.Origin = new Vector2(181, 149.5f);
            failed.Translate(400, -300);
            failed.CanDraw = false;
            AddHUDObjectFront(failed);

            finished        = new GameSprite("level1\\boxfinished");
            finished.Origin = new Vector2(230, 181);
            finished.Translate(400, -300);
            finished.CanDraw = false;
            AddHUDObjectFront(finished);

            note       = new SpriteFonts("font\\fontsmall");
            note.Color = Color.Goldenrod;
            note.Translate(265, 280);
            AddHUDObjectFront(note);

            star1        = new GameAnimatedSprite("level1\\star", 12, 40, new Point(73, 73), 6);
            star1.Origin = new Vector2(36.5f, 36.5f);
            star1.Translate(400, -290);
            star1.CanDraw = false;
            AddHUDObjectFront(star1);

            star2        = new GameAnimatedSprite("level1\\star", 12, 40, new Point(73, 73), 6);
            star2.Origin = new Vector2(36.5f, 36.5f);
            star2.Translate(470, -290);
            star2.CanDraw = false;
            AddHUDObjectFront(star2);

            star3        = new GameAnimatedSprite("level1\\star", 12, 40, new Point(73, 73), 6);
            star3.Origin = new Vector2(36.5f, 36.5f);
            star3.Translate(330, -290);
            star3.CanDraw = false;
            AddHUDObjectFront(star3);

            next         = new GameButton("level1\\next", true, false, false);
            next.CanDraw = false;
            next.Translate(420, -215);
            next.OnClick += () =>
            {
                SceneManager.push.Play();
                SceneManager.SetActiveScene("LevelSelect");
                SceneManager.ActiveScene.ResetScene();
                SceneManager.PlaySong(1);
            };
            AddHUDObjectFront(next);

            retry         = new GameButton("level1\\retry", true, false, false);
            retry.CanDraw = false;
            retry.Translate(295, -215);
            retry.OnClick += () =>
            {
            };
            AddHUDObjectFront(retry);

            base.Initialize();
        }
コード例 #12
0
        public override void Update(RenderContext rendercontext, ContentManager contentmanager)
        {
            if (delay > 0)
            {
                delay -= rendercontext.GameTime.ElapsedGameTime.TotalSeconds;
            }

            if (delay <= 0)
            {
                if (!isFailed && !isFinished)
                {
                    CameraManager.getInstance().camera.IsIgnoreY = true;
                    mainChar.CurrentState = MainCharacter.CharacterState.Ready;
                }

                if (isFailed)
                {
                    if (!failed.CanDraw)
                    {
                        SceneManager.failed.Play();
                    }

                    failed.CanDraw = true;
                    next.CanDraw   = true;
                    retry.CanDraw  = true;
                    MediaPlayer.Pause();

                    float pos1 = failed.LocalPosition.Y;
                    float pos2 = next.LocalPosition.Y;
                    float pos3 = retry.LocalPosition.Y;
                    if (pos1 < 250)
                    {
                        pos1 += 10;
                        pos2 += 10;
                        pos3 += 10;

                        failed.Translate(failed.LocalPosition.X, pos1);
                        next.Translate(next.LocalPosition.X, pos2);
                        retry.Translate(retry.LocalPosition.X, pos3);
                    }
                }

                if (isFinished)
                {
                    if (!finished.CanDraw)
                    {
                        SceneManager.finish.Play();
                    }

                    finished.CanDraw = true;
                    next.CanDraw     = true;
                    retry.CanDraw    = true;
                    star1.CanDraw    = true;
                    star2.CanDraw    = true;
                    star3.CanDraw    = true;
                    MediaPlayer.Pause();

                    float pos1 = finished.LocalPosition.Y;
                    float pos2 = next.LocalPosition.Y;
                    float pos3 = retry.LocalPosition.Y;
                    float pos4 = star1.LocalPosition.Y;
                    if (pos1 < 220)
                    {
                        pos1 += 10;
                        pos2 += 10;
                        pos3 += 10;
                        pos4 += 10;

                        finished.Translate(finished.LocalPosition.X, pos1);
                        next.Translate(next.LocalPosition.X, pos2);
                        retry.Translate(retry.LocalPosition.X, pos3);
                        star1.Translate(star1.LocalPosition.X, pos4);
                        star2.Translate(star2.LocalPosition.X, pos4);
                        star3.Translate(star3.LocalPosition.X, pos4);
                    }
                    else
                    {
                        CheckScore();
                    }
                }

                UpdateScore();
                UpdateTarget();

                if (MediaPlayer.PlayPosition >= TimeSpan.FromSeconds(145.0) && !isFinished)
                {
                    mainChar.CurrentState = MainCharacter.CharacterState.Normal;
                    isFinished            = true;

                    DestroyAllNote();
                    bg.DestroyScenery();

                    next.Translate(420, -180);
                    retry.Translate(295, -180);
                }
            }

            text.Text = "Score: " + score;

            base.Update(rendercontext, contentmanager);
        }