Пример #1
0
 /// <summary>
 /// コンストラクタ
 /// ファイル名と位置を指定
 /// </summary>
 /// <param name="_filename"></param>
 /// <param name="_align"></param>
 public DrawObject(string _filename, EnumAlign _align)
 {
     gh    = DX.LoadGraph(_filename);
     align = _align;
     DX.GetGraphSize(gh, out width, out height);
     SetAlign(align);
 }
Пример #2
0
 public void Initialize(int x, int y, int upperheight, int num, EnumPriority priority, EnumAlign align)
 {
     X           = x; Y = y;
     Priority    = priority;
     ArrayNum    = num;
     Align       = EnumAlign.NONE;
     UpperHeight = upperheight;
 }
Пример #3
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);
    }
Пример #4
0
    /// <summary>
    /// コンストラクタ
    /// ファイル名と位置を指定
    /// xの分割数、yの分割数を指定して配列で使用可能に
    /// </summary>
    /// <param name="_filename"></param>
    /// <param name="_align"></param>
    /// <param name="xdiv"></param>
    /// <param name="ydiv"></param>
    public DrawObject(string _filename, EnumAlign _align, int xdiv, int ydiv)
    {
        gh = DX.LoadGraph(_filename);
        DX.GetGraphSize(gh, out width, out height);


        gharray = new int[xdiv * ydiv];
        DX.LoadDivGraph(_filename, xdiv * ydiv, xdiv, ydiv, width / xdiv, height / ydiv, gharray);
        align = _align;
        DX.GetGraphSize(gharray[0], out width, out height);
        SetAlign(align);
    }
Пример #5
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);
    }
Пример #6
0
    private void SetAlign(EnumAlign align)
    {
        switch (align)
        {
        case EnumAlign.LEFTTOP:
            dx = 0; dy = 0;
            break;

        case EnumAlign.CENTERTOP:
            dx = -width / 2; dy = 0;
            break;

        case EnumAlign.RIGHTTOP:
            dx = -width; dy = 0;
            break;

        case EnumAlign.LEFTCENTER:
            dx = 0; dy = -height / 2;
            break;

        case EnumAlign.CENTERCENTER:
            dx = -width / 2; dy = -height / 2;
            break;

        case EnumAlign.RIGHTCENTER:
            dx = -width; dy = -height / 2;
            break;

        case EnumAlign.LEFTBOTTOM:
            dx = 0; dy = -height;
            break;

        case EnumAlign.CENTERBOTTOM:
            dx = -width / 2; dy = -height;
            break;

        case EnumAlign.RIGHTBOTTOM:
            dx = -width; dy = -height;
            break;

        default:
            dx = 0; dy = 0;
            break;
        }
    }
Пример #7
0
    public void GetAlignDeltaXY(EnumAlign align, out int deltax, out int deltay)
    {
        switch (align)
        {
        case EnumAlign.LEFTTOP:
            deltax = 0; deltay = 0;
            break;

        case EnumAlign.CENTERTOP:
            deltax = -width / 2; deltay = 0;
            break;

        case EnumAlign.RIGHTTOP:
            deltax = -width; deltay = 0;
            break;

        case EnumAlign.LEFTCENTER:
            deltax = 0; deltay = -height / 2;
            break;

        case EnumAlign.CENTERCENTER:
            deltax = -width / 2; deltay = -height / 2;
            break;

        case EnumAlign.RIGHTCENTER:
            deltax = -width; deltay = -height / 2;
            break;

        case EnumAlign.LEFTBOTTOM:
            deltax = 0; deltay = -height;
            break;

        case EnumAlign.CENTERBOTTOM:
            deltax = -width / 2; deltay = -height;
            break;

        case EnumAlign.RIGHTBOTTOM:
            deltax = -width; deltay = -height;
            break;

        default:
            deltax = 0; deltay = 0;
            break;
        }
    }
Пример #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>
 /// 配列版の描画Align指定付き
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <param name="num"></param>
 /// <param name="tmpalign"></param>
 public void Draw(int x, int y, int num, EnumAlign tmpalign)
 {
     SetAlign(tmpalign);
     DX.DrawGraph(x + dx, y + dy, gharray[num], DX.TRUE);
     SetAlign(align);
 }
Пример #10
0
 /// <summary>
 /// パラメータフル指定コンストラクタ
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <param name="num"></param>
 /// <param name="priority"></param>
 /// <param name="align"></param>
 public DrawParam(int x, int y, int upperheight, int num, EnumPriority priority, EnumAlign align)
 {
     Initialize(x, y, upperheight, num, priority, align);
 }
Пример #11
0
 public DrawParam(int x, int y, int num, EnumPriority priority, EnumAlign align)
 {
     Initialize(x, y, -1, num, priority, align);
 }