private void DrawScratch() { //スクラッチの向き描画 foreach (ScratchChip sc in lstscratch) { int x, y, h, num; y = datacalc.realtimey(now.dot, sc.step); h = datacalc.JudgeLineY - y + _scratch_frame.height / 2; if (sc.data > 0) { x = datacalc.realtimelinex(lr); num = 0; } else { x = datacalc.realtimelinex(lr) + _scratch_frame.width; num = 1; } //判定までは赤表示 if (sc.judge == EnumJudge.NOTYET || sc.judge == EnumJudge.BAD) { _scratch_frame_bad.Draw(x, y, num); } //判定ラインより上まで描画 if (h > 0) { _scratch_frame.DrawUpperRect(x, y, num, h); } } }
/// <summary> /// スクラッチコアの描画 /// </summary> private void DrawCore() { //スクラッチコア描画 foreach (ScratchChip scr in lstscratch) { _scratch_core.Draw(datacalc.realtimelinex(lr), datacalc.realtimey(now.dot, scr.step)); } }
public static void Draw() { DX.SetDrawBlendMode(DX.DX_BLENDMODE_NOBLEND, 0); _frame.Draw(0, datacalc.JudgeLineY); _rainbow.DrawModi(0, datacalc.JudgeLineY, datacalc.ScreenWidth, 2, rcount++); rcount = rcount % 8; //DX.DrawGraph(0, datacalc.JudgeLineY, GHframe, DX.TRUE); }
/// <summary> /// 繪製物件 /// </summary> /// <param name="g">Graphics物件</param> public virtual void Draw(Graphics g) { if (Visible) { UIOffSetY = 0; Propertys.AllDoBeforeDraw(g); DrawObject.Draw(g, Layout.Rectangle); Propertys.AllDoAfterDraw(g); } }
public override void Draw(Graphics g) { if (Visible) { Propertys.AllDoBeforeDraw(g); DrawObject.Draw(g, Layout.Rectangle); UIObjects.AllDrawSelf(g); Propertys.AllDoAfterDraw(g); } }
/// <summary> /// フェーダーの光とフェーダーの描画 /// </summary> /// <param name="faderValue">フェーダーの値</param> public static void draw() { int Blenddelta = 0;// (int)((nowmillis / 10) % 40)*2; DX.SetDrawBlendMode(DX.DX_BLENDMODE_ADD, 168 + Blenddelta); DrawObject _faderLR = _faderC; int width = 16 * 6; //緑、赤、紫、それぞれのフェーダーの幅(dot) int faderx = (int)(width * inputFader.FaderPercent()); int faderLeftX = datacalc.ScreenWidth / 2 - 16 * 3; //フェーダーの光の左端 double deltadelta = 0.05; double deltaLeft = (inputFader.FaderPercentCenterMin() - 0.5) * deltadelta; double deltaRight = (inputFader.FaderPercentCenterMax() - 0.5) * deltadelta; double deltaCLeft = (inputFader.FaderPercent() - 0.5 - 0.01) * deltadelta; double deltaCRight = (inputFader.FaderPercent() - 0.5 + 0.01) * deltadelta; //int deltax = 10 if (inputFader.GetFaderState() == EnumFaderState.LEFT) { deltaLeft = (inputFader.FaderPercentMin() - 0.5) * deltadelta; //deltaCRight = -deltaCRight; deltaRight = -deltaRight; _faderLR = _faderL; faderLeftX -= width;//フェーダーの光の左端 faderx += width; } else if (inputFader.GetFaderState() == EnumFaderState.RIGHT) { deltaRight = (inputFader.FaderPercentMax() - 0.5) * deltadelta; deltaLeft = -deltaLeft; _faderLR = _faderR; faderLeftX += width;//フェーダーの光の左端 faderx -= width; } if (faderx > 8) { _faderLR.DrawModi( new Point((int)(faderLeftX * (1 + deltaLeft)), datacalc.JudgeLineY - 60), //左上 new Point((int)(faderLeftX * (1 + deltaCLeft)) + faderx - 7, datacalc.JudgeLineY - 60), //右上 new Point(faderLeftX + faderx - 7, datacalc.JudgeLineY + 16), //右下 new Point(faderLeftX, datacalc.JudgeLineY + 16) //左下 ); } //if (faderx + 8 < width) { _faderLR.DrawModi( new Point((int)(faderLeftX * (1 + deltaCRight) + faderx + 7), datacalc.JudgeLineY - 60), //左上 new Point((int)(faderLeftX * (1 + deltaRight) + width), datacalc.JudgeLineY - 60), //右上 new Point(faderLeftX + width, datacalc.JudgeLineY + 16), //右下 new Point(faderLeftX + faderx + 7, datacalc.JudgeLineY + 16) //左下 ); } DX.SetDrawBlendMode(DX.DX_BLENDMODE_NOBLEND, 0); _fader.Draw((int)(faderLeftX + faderx), datacalc.JudgeLineY + 16); }
/// <summary> /// 繪製物件 /// </summary> /// <param name="g">Graphics物件</param> public override void Draw(Graphics g) { if (Visible) { UIOffSetY = 0; Skills.AllDoBeforeDraw(g); Propertys.AllDoBeforeDraw(g); DrawObject.Draw(g, Layout.Rectangle); Propertys.AllDoAfterDraw(g); Skills.AllDoAfterDraw(g); } }
/// <summary> /// Gets the barcode image. /// </summary> /// <param name="index">The index.</param> /// <param name="maxBarHeight">Height of the max bar.</param> /// <returns></returns> public Image GetBarcodeImage(int index, int maxBarHeight) { return(DrawObject.Draw(GetBarcodeText(index), maxBarHeight)); }
public void Draw() { //赤と紫の縦帯 DrawPlayline(now.dot); LRDrawObject lrdraw; if (lr == CdjData.Left) { lrdraw = _ldraw; } else { lrdraw = _rdraw; } if (this.judge == EnumJudge.BAD) { //失敗オブジェを描く(×印付き) //まだアクティブになっていない DX.SetDrawBlendMode(DX.DX_BLENDMODE_NOBLEND, 0); if (quecount > 0) { _disk.Draw(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep)); //キューの量 lrdraw.diskque.Draw(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep), (int)(quecount / 10)); _X.Draw(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep)); } //カットイン矢印 lrdraw.cutin.Draw(datacalc.ScreenCenterLine, datacalc.realtimey(now.dot, startstep)); _X.Draw(datacalc.ScreenCenterLine, datacalc.realtimey(now.dot, startstep)); } else if (this.judge == EnumJudge.NOTYET) { //未判定オブジェを描く DX.SetDrawBlendMode(DX.DX_BLENDMODE_NOBLEND, 0); if (ActiveState == EnumActiveState.NEXT)//皿が光ったり回ったり { if (quecount > 0) { //皿のびーるの赤と紫 DX.SetDrawBlendMode(DX.DX_BLENDMODE_ALPHA, 60); lrdraw.diskshadow.Draw(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep), 0); lrdraw.diskshadow.DrawModi(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep) + lrdraw.diskshadow.height, lrdraw.diskshadow.width, datacalc.JudgeLineY - datacalc.realtimey(now.dot, startstep), 1); int y; if (now.millis - activemillis < 100) { y = (int)(datacalc.realtimey(now.dot, startstep) + datacalc.JudgeLineY * (now.millis - activemillis) / 100); } else { y = datacalc.JudgeLineY; } if (y > datacalc.JudgeLineY) { y = datacalc.JudgeLineY; } //皿がビートに合わせて光る DX.SetDrawBlendMode(DX.DX_BLENDMODE_ADD, 128); //double zoom = 1 - ((nowmillis % 500) * 1f / 1000); double zoom = 1 - ((now.judgementlinestep % (datacalc.resolution / 4)) * 1f / (datacalc.resolution / 2)); _diskbeat.DrawZoomRotate(datacalc.realtimerecordx(lr), y, zoom, 0); //皿 DX.SetDrawBlendMode(DX.DX_BLENDMODE_NOBLEND, 0); double angle = (now.millis % 1000) * datacalc.PI / 500; _disk.DrawZoomRotate(datacalc.realtimerecordx(lr), y, 1, angle); double q = (quecount / 10); if (q > 360) { q = 360; } //キューの量 lrdraw.diskque.Draw(datacalc.realtimerecordx(lr), y, (int)q); //キューの今の位置 _cue.Draw(datacalc.realtimerecordx(lr), y, (int)((quecount / 10 - 1) % 36)); DX.SetDrawBlendMode(DX.DX_BLENDMODE_ADD, (int)(96 * (zoom - 0.5))); _diskbeat.DrawZoomRotate(datacalc.realtimerecordx(lr), y, 1, 0); DX.SetDrawBlendMode(DX.DX_BLENDMODE_NOBLEND, 0); } } else { //まだアクティブになっていない if (quecount > 0) { _disk.Draw(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep)); //キューの量 lrdraw.diskque.Draw(datacalc.realtimerecordx(lr), datacalc.realtimey(now.dot, startstep), (int)(quecount / 10)); } } //カットイン矢印 lrdraw.cutin.Draw(datacalc.ScreenCenterLine, datacalc.realtimey(now.dot, startstep)); } }