示例#1
0
    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;
        }
    }
示例#2
0
    /// <summary>
    /// 左上、右上、右下、左下を指定してそこに変形描画
    /// </summary>
    /// <param name="p1"></param>
    /// <param name="p2"></param>
    /// <param name="p3"></param>
    /// <param name="p4"></param>
    private static void DrawModi(EnumGraphic enumgraphic, Point p1, Point p2, Point p3, Point p4, int num, EnumPriority priority, EnumBLEND blend, int blendparam)
    {
        GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic);

        MyDraw.DrawModiGraph(
            p1.X, p1.Y,
            p2.X, p2.Y,
            p3.X, p3.Y,
            p4.X, p4.Y,
            o.GHandle(frame, num), priority, blend, blendparam);
    }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="enumgraphic"></param>
 /// <param name="param"></param>
 public static void Draw(EnumGraphic enumgraphic, DrawParam param)
 {
     if (param.UpperHeight < 0)
     {
         Draw(enumgraphic, param.X, param.Y, param.ArrayNum, param.Align, param.Priority, lastblend, lastblendparam);
     }
     else
     {
         DrawUpperRect(enumgraphic, param.X, param.Y, param.ArrayNum, param.UpperHeight, param.Priority, lastblend, lastblendparam);
     }
 }
示例#4
0
 /// <summary>
 /// XMLから読み込んだGraphicObjectをEnumGraphic指定で取得
 /// ここで実際の画像ファイルを読み込んでインスタンス化
 /// </summary>
 /// <param name="g"></param>
 /// <returns></returns>
 public static GraphicObject GetGraphicObject(EnumGraphic g)
 {
     if (_dctGraphicObject.ContainsKey(g))
     {
         return(_dctGraphicObject[g]);
     }
     else
     {
         return(null);
     }
 }
示例#5
0
    /// <summary>
    /// GraphicObjectの追加
    /// デフォルトは縦分割数でアニメーションする
    /// アニメーション速度はAnimeFrameで指定
    /// </summary>
    /// <param name="name">Enumの名前</param>
    /// <param name="filename">ファイル名</param>
    /// <param name="align">Drawしたときの表示位置</param>
    /// <param name="xdiv">横分割数</param>
    /// <param name="ydiv">縦分割数</param>
    /// <param name="AnimeFrame"></param>
    public void Add(EnumGraphic name, string filename, EnumAlign align, int xdiv, int ydiv, int animeframe)
    {
        RECORD record = new RECORD();

        record.Name       = name;
        record.FileName   = filename;
        record.Align      = align;
        record.Xdiv       = xdiv;
        record.Ydiv       = ydiv;
        record.AnimeFrame = animeframe;
        LIST.Add(record);
    }
示例#6
0
    /// <summary>
    /// 配列版の描画Align指定付き
    /// </summary>
    /// <param name="x"></param>
    /// <param name="y"></param>
    /// <param name="num"></param>
    /// <param name="tmpalign"></param>
    private static void Draw(EnumGraphic enumgraphic, int x, int y, int num, EnumAlign tmpalign, EnumPriority priority, EnumBLEND blend, int blendparam)
    {
        int           dx, dy;
        GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic);

        if (tmpalign == EnumAlign.NONE)
        {
            dx = o.dx; dy = o.dy;
        }
        else
        {
            o.GetAlignDeltaXY(tmpalign, out dx, out dy);
        }
        MyDraw.DrawGraph(x + dx, y + dy, o.GHandle(frame, num), priority, blend, blendparam);
    }
示例#7
0
 public EffectRecord(int lr)
 {
     _startmillis = now.millis;
     _endmillis   = now.millis + 300;
     _lr          = lr;
     if (lr == CdjData.Left)
     {
         enumgraphic = EnumGraphic.PARTICLEDISCRED;
     }
     else
     {
         enumgraphic = EnumGraphic.PARTICLEDISCPURPLE;
     }
     _y = datacalc.JudgeLineY;
     _x = datacalc.realtimerecordx(lr);
 }
示例#8
0
    /// <summary>
    /// コンストラクタ
    /// ファイル名と位置を指定
    /// xの分割数、yの分割数を指定して配列で使用可能に
    /// デフォルトはy分割数でアニメーションする
    /// </summary>
    /// <param name="_filename"></param>
    /// <param name="_align"></param>
    /// <param name="xdiv"></param>
    /// <param name="ydiv"></param>
    public GraphicObject(EnumGraphic enumgraphic, string _filename, EnumAlign _align, int xdiv, int ydiv, int _animeframe)
    {
        name  = enumgraphic;
        gh    = DX.LoadGraph(_filename);
        align = _align;
        DX.GetGraphSize(gh, out width, out height);
        SetAlign(align);
        animepattern = ydiv;
        animeframe   = -1;
        if (xdiv * ydiv == 0)
        {
            return;
        }

        gharray = new int[xdiv * ydiv];
        DX.LoadDivGraph(_filename, xdiv * ydiv, xdiv, ydiv, width / xdiv, height / ydiv, gharray);
        DX.GetGraphSize(gharray[0], out width, out height);
        SetAlign(align);
        animeframe = _animeframe;
    }
示例#9
0
    /// <summary>
    /// 拡大、回転表示(x,y)が中心座標になるのでalignのDelta(dx,dy)値は無視
    /// </summary>
    /// <param name="x"></param>
    /// <param name="y"></param>
    /// <param name="zoom">1で元のまま</param>
    /// <param name="angle">0で元のままラジアン指定</param>
    private static void DrawZoomRotate(EnumGraphic enumgraphic, int x, int y, double zoom, double angle, int num, EnumPriority priority, EnumBLEND blend, int blendparam)
    {
        GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic);

        MyDraw.DrawRotaGraph(x, y, zoom, angle, o.GHandle(frame, num), priority, blend, blendparam);
    }
示例#10
0
    /// <summary>
    /// 配列版の描画(上一部分だけ描画
    /// </summary>
    /// <param name="x"></param>
    /// <param name="y"></param>
    /// <param name="num">配列番号</param>
    private static void DrawUpperRect(EnumGraphic enumgraphic, int x, int y, int num, int upperheight, EnumPriority priority, EnumBLEND blend, int blendparam)
    {
        GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic);

        MyDraw.DrawRectGraph(x + o.dx, y + o.dy, 0, 0, o.width, upperheight, o.GHandle(frame, num), priority, blend, blendparam);
    }
示例#11
0
 /// <summary>
 /// 中心座標に対して拡大縮小描画
 /// </summary>
 /// <param name="enumgraphic"></param>
 /// <param name="param"></param>
 public static void DrawZoomRotate(EnumGraphic enumgraphic, DrawZoomParam param)
 {
     DrawZoomRotate(enumgraphic, param.X, param.Y, param.Zoom, param.Angle, param.ArrayNum, param.Priority, lastblend, lastblendparam);
 }
示例#12
0
 /// <summary>
 /// 4点指定で描画(左上、右上、右下、左下)
 /// </summary>
 /// <param name="enumgraphic"></param>
 /// <param name="param"></param>
 public static void DrawModi(EnumGraphic enumgraphic, DrawModiParam param)
 {
     DrawModi(enumgraphic, param.P1, param.P2, param.P3, param.P4, param.ArrayNum, param.Priority, lastblend, lastblendparam);
 }