예제 #1
0
        private void _EmusicCard1Selected(object sender, EventArgs e)
        {
            Thread _Tmusic = new Thread(() => _tmusic());

            _Tmusic.Start();
            drawer.sprite.addButton("musicstart1", new ClickableSprite(D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "playBtn.png"), 420, 340, 0));
            D2DSprite._LClickableSprite["musicstart1"].OnMouseClick += music1Start;
        }
예제 #2
0
        public StartPage(RenderTaskerHandler drawer)
        {
            this.drawer = drawer;
            drawer.targetForm.KeyDown += _EkeyDown;

            drawer.sprite.setBackground("background", new ClickableSprite(D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "mainScreen.png"), 0, 0, 0));

            drawer.font.add("anykey", new FontData("Press Anykey", drawer.font.renderTarget, Color4.White, 460, 500, 60));
        }
예제 #3
0
        public void initialize()
        {
            drawer.sprite.modBackgroundImage("background", D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "resultScreen.png"));

            drawer.sprite.add("music", new SpriteData(D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, musicName + ".png"), 45, 140));

            drawer.font.add("score", new FontData(String.Format("{0,7}", data.score).Replace(' ', '0'), drawer.font.renderTarget, Color4.White, 780, 460, 80));
            drawer.font.add("perfect", new FontData(data.perfect.ToString(), drawer.font.renderTarget, Color4.White, 990, 230, 50));
            drawer.font.add("fail", new FontData(data.fail.ToString(), drawer.font.renderTarget, Color4.White, 990, 310, 50));
        }
예제 #4
0
        public MusicSelect(RenderTaskerHandler drawer)
        {
            D2DSprite.resetData();
            D2DFont.resetData();
            this.drawer = drawer;
            drawer.sprite.setBackground("background", new SpriteData(D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "musicSelect.png"), 0, 0));
            drawer.sprite.addButton("2musiccard1", new ClickableSprite(D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "music-1.png"), 70, 120, 0));
            D2DSprite._LClickableSprite["2musiccard1"].OnMouseClick += _EmusicCard1Selected;


            /*((ClickableSprite)data).OnMouseClick += (Object sender, EventArgs e) =>
             * {
             *      Console.WriteLine("{0} 클릭됨.", tag);
             * };*/
        }
예제 #5
0
        public ResultScreen(RenderTaskerHandler drawer, string musicName, ScoreData data)
        {
            if (PublicDataManager.deviceCreated)
            {
                drawer.targetForm.KeyDown += _EkeyDown;

                D2DFont.resetData();
                D2DSprite.resetData();
                this.drawer    = drawer;
                this.data      = data;
                this.musicName = musicName;

                initialize();
            }
        }
예제 #6
0
        public Game(RenderTaskerHandler drawer, string musicName)
        {
            D2DSprite.resetData();
            D2DSprite.resetData();
            if (drawer.targetForm.Created)
            {
                this.musicName = musicName;
                this.drawer    = drawer;

                noteManager = new NoteManager(musicName);
                totalNote   = noteManager.noteCount;

                initialize();
            }
            else
            {
                throw new Exception();
            }
        }
예제 #7
0
        public void initialize()
        {
            BitmapBrush backGround = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "gameScreen.png");

            backGround.Opacity = 0.2f;
            drawer.sprite.modBackgroundImage("background", backGround);

            drawer.sprite.add("skin", new SpriteData(D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "skin.png"), 390, 0));

            for (int i = 0; i < 4; ++i)
            {
                drawer.sprite.add("effect" + i, new SpriteData(null, lineStart + (noteSize * i), judgeLine - (noteSize / 2)));
            }



            for (int i = 1; i <= 7; ++i)
            {
                _LeffectSprite[i - 1] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, String.Format("effect-{0}.png", i));
            }
            _LeffectSprite[_LeffectSprite.Length - 1] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, null, true);

            for (int i = 0; i < _LnoteEffectTimer.Length; ++i)
            {
                int cache = i;
                _LnoteEffectTimer[i]          = new Timer(35d);
                _LnoteEffectTimer[i].Elapsed += (sender, e) =>
                {
                    drawer.sprite.modImage("effect" + cache, _LeffectSprite[_LnoteEffectRunningFrame[cache]]);

                    if (++_LnoteEffectRunningFrame[cache] == _LeffectSprite.Length)
                    {
                        _LnoteEffectRunningFrame[cache] = 0;
                        _LnoteEffectTimer[cache].Stop();
                    }
                };
            }

            _LjudgeSprite[0] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "perfect.png");
            _LjudgeSprite[1] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "fail.png");
            _LjudgeSprite[2] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, null, true);

            drawer.sprite.add("judge", new SpriteData(_LjudgeSprite[2], 435, 445));

            judgeTimer.Elapsed += (sender, e) =>
            {
                ++judgeShowTime;

                if (judgeShowTime >= 6)
                {
                    drawer.sprite.modImage("judge", _LjudgeSprite[2]);
                    judgeShowTime = 0;
                    judgeTimer.Stop();
                }
            };



            _LnoteSprite[0] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "note-r.png");
            _LnoteSprite[1] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "note-b.png");
            _LnoteSprite[2] = D2DSprite.makeBitmapBrush(drawer.sprite.renderTarget, "note-c.png");

            drawer.font.add("scoreTable", new FontData("0000000", drawer.font.renderTarget, Color.White, 1000, 0, 70, "applemint"));
        }
예제 #8
0
        private void createDevice()
        {
            int    currentWindowWidth  = 0;
            int    currentWindowHeight = 0;
            IntPtr OutputHandle        = IntPtr.Zero;

            targetForm.Invoke(new MethodInvoker(() =>
            {
                currentWindowWidth  = targetForm.ClientSize.Width;
                currentWindowHeight = targetForm.ClientSize.Height;
                OutputHandle        = targetForm.Handle;
            }));

            desc = new SwapChainDescription()
            {
                BufferCount     = 1,//buffer count
                ModeDescription = new ModeDescription(currentWindowWidth, currentWindowHeight, new Rational(60, 1), RENDER_FORMAT),
                //IsWindowed = bool.Parse(GlobalDataManager.settings.getSetting("windowded")),
                IsWindowed        = true,
                OutputHandle      = OutputHandle,
                SampleDescription = new SampleDescription(1, 0),
                SwapEffect        = SwapEffect.Discard,
                Usage             = Usage.RenderTargetOutput
            };

            FeatureLevel[]      levels = new FeatureLevel[] { FeatureLevel.Level_11_0 };
            DeviceCreationFlags flag   = DeviceCreationFlags.None | DeviceCreationFlags.BgraSupport;

            Device.CreateWithSwapChain(DriverType.Hardware, flag, levels, desc, out _device, out _swapChain);

            _deviceContext = _device.ImmediateContext;

            _backBufferTexture = _swapChain.GetBackBuffer <Texture2D>(0);

            FontLoader     fontLoader     = new FontLoader(resourceManageCore, "/fonts");
            FontCollection fontCollection = new FontCollection(new SharpDX.DirectWrite.Factory(), fontLoader, fontLoader.Key);

            font = new D2DFont(_backBufferTexture);
            font.add("fps", new FontData(frame + " fps", font.renderTarget, fontCollection, Color.White, fontName: "applemint", fontSize: 20, x: 710));
            font.add("score", new FontData("0", font.renderTarget, fontCollection, Color.White, fontName: "applemint", fontSize: 20, x: 710, y: 25));
            sprite = new D2DSprite(_backBufferTexture);

            _backbufferView = new RenderTargetView(_device, _backBufferTexture);
            _backBufferTexture.Dispose();

            var _zbufferTexture = new Texture2D(_device, new Texture2DDescription()
            {
                Format    = Format.D24_UNorm_S8_UInt,
                ArraySize = 1,
                MipLevels = 1,
                //Width = int.Parse(GlobalDataManager.settings.getSetting("width")),
                //Height = int.Parse(GlobalDataManager.settings.getSetting("height")),
                Width             = 1280,
                Height            = 720,
                SampleDescription = new SampleDescription(1, 0),
                Usage             = ResourceUsage.Default,
                BindFlags         = BindFlags.DepthStencil,
                CpuAccessFlags    = CpuAccessFlags.None,
                OptionFlags       = ResourceOptionFlags.None
            });

            // Create the depth buffer view
            _zbufferView = new DepthStencilView(_device, _zbufferTexture);
            _zbufferTexture.Dispose();

            _deviceContext.Rasterizer.SetViewport(0, 0, targetForm.ClientSize.Width, targetForm.ClientSize.Height);
            _deviceContext.OutputMerger.SetTargets(_zbufferView, _backbufferView);

            //GlobalDataManager.deviceCreated = true;
        }