public EffectJudge(EnumJudge judge, int lr, double zoom) { _startmillis = now.millis; _endmillis = now.millis + 1000; _judge = judge; _zoom = zoom; _lr = lr; switch (_judge) { case EnumJudge.COOL: drawobj = _cool; break; case EnumJudge.PERFECT: drawobj = _perfect; break; case EnumJudge.GREAT: drawobj = _great; break; case EnumJudge.GOOD: drawobj = _good; break; case EnumJudge.BAD: drawobj = _bad; break; } }
public EffectJudge(EnumJudge judge, int lr, double zoom) { _startmillis = now.millis; _endmillis = now.millis + 1000; _zoom = zoom; _lr = lr; switch (judge) { case EnumJudge.COOL: enumgraphic = EnumGraphic.JUDGECOOL; break; case EnumJudge.PERFECT: enumgraphic = EnumGraphic.JUDGEPERFECT; break; case EnumJudge.GREAT: enumgraphic = EnumGraphic.JUDGEGREAT; break; case EnumJudge.GOOD: enumgraphic = EnumGraphic.JUDGEGOOD; break; case EnumJudge.BAD: enumgraphic = EnumGraphic.JUDGEBAD; break; } }
/// <summary> /// 判定文字表示エフェクトの追加 /// </summary> /// <param name="judge"></param> /// <param name="lr"></param> /// <param name="zoom"></param> public static void AddJudge(EnumJudge judge, int lr, double zoom) { EffectJudge deleffect = null; foreach (EffectBase e in effectlist) { if (e is EffectJudge ej) { zoom = ej.Zoom + 0.2; deleffect = ej; } } if (deleffect != null) { effectlist.Remove(deleffect); } effectlist.Add(new EffectJudge(judge, lr, zoom)); }
/// <summary> /// カットイン /// </summary> /// <param name="cutstate"></param> public void Cutin(EnumFaderState cutstate) { if (this.ActiveState == EnumActiveState.NEXT) { if (quecount <= 0) { if (judge == EnumJudge.NOTYET) { if ((lr == CdjData.Left && cutstate == EnumFaderState.LEFT) || (lr == CdjData.Right && cutstate == EnumFaderState.RIGHT)) { if (Math.Abs(now.judgementlinestep - startstep) < 5) { judge = EnumJudge.PERFECT;//ここにタイミングで判定分岐を入れる(BADもあり得る) } else if (Math.Abs(now.judgementlinestep - startstep) < 7) { judge = EnumJudge.GREAT;//ここにタイミングで判定分岐を入れる(BADもあり得る) } else if (Math.Abs(now.judgementlinestep - startstep) < 10) { judge = EnumJudge.GOOD;//ここにタイミングで判定分岐を入れる(BADもあり得る) } else if (Math.Abs(now.judgementlinestep - startstep) > 96) { judge = EnumJudge.BAD; } Random random = new Random(); DrawEffect.AddJudge(judge, lr, 1); for (int i = 0; i < 20; i++) { DrawEffect.AddParticle(now.millis + i * 10, (int)(datacalc.realtimelinex(lr) + 20 + random.NextDouble() * 10), (int)(datacalc.JudgeLineY), random.NextDouble() * 20 + 10, -random.NextDouble() * Math.PI * 1); } } } } } }
public ScratchChip() { judge = EnumJudge.NOTYET; }