From 9d20175a224ba23ec797b5db45063f641a114b0a Mon Sep 17 00:00:00 2001 From: Takkkom <76614532+Takkkom@users.noreply.github.com> Date: Sun, 13 Nov 2022 23:28:35 +0900 Subject: [PATCH] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E7=94=BB=E9=9D=A2=E3=81=AE?= =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=81=AE=E4=BD=8D=E7=BD=AE=E3=82=92=E8=87=AA?= =?UTF-8?q?=E7=94=B1=E3=81=AB=E5=A4=89=E6=9B=B4=E5=8F=AF=E8=83=BD=E3=81=AB?= =?UTF-8?q?=20(#326)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 設定画面の画像の位置を自由に変更可能に * ItemBoxの数を変更できるように --- TJAPlayer3/Common/CSkin.cs | 150 ++++++++++++++++-- TJAPlayer3/Stages/04.Config/CActConfigList.cs | 64 ++++---- .../Stages/04.Config/CStageコンフィグ.cs | 76 ++++++--- Test/System/SimpleStyle/ConfigConfig.ini | 38 +++++ Test/System/SimpleStyle/SkinConfig.ini | 1 + 5 files changed, 268 insertions(+), 61 deletions(-) create mode 100644 Test/System/SimpleStyle/ConfigConfig.ini diff --git a/TJAPlayer3/Common/CSkin.cs b/TJAPlayer3/Common/CSkin.cs index 8d791048..1b6e5ccf 100644 --- a/TJAPlayer3/Common/CSkin.cs +++ b/TJAPlayer3/Common/CSkin.cs @@ -1489,13 +1489,125 @@ namespace TJAPlayer3 #endregion #region Config - else if (strCommand == nameof(Config_ItemText_Correction_X)) - { - Config_ItemText_Correction_X = int.Parse(strParam); + else if (strCommand == "Config_Arrow_X") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_Arrow_X[i] = int.Parse(strSplit[i]); + } } - else if (strCommand == nameof(Config_ItemText_Correction_Y)) + else if (strCommand == "Config_Arrow_Y") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_Arrow_Y[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_Arrow_Focus_X") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_Arrow_Focus_X[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_Arrow_Focus_Y") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_Arrow_Focus_Y[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_Item_X") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 3; i++) + { + Config_Item_X[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_Item_Y") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 3; i++) + { + Config_Item_Y[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_Item_Width") { - Config_ItemText_Correction_Y = int.Parse(strParam); + Config_Item_Width = int.Parse(strParam); + } + else if (strCommand == "Config_Item_Font_Offset") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_Item_Font_Offset[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_Font_Scale") + { + Config_Font_Scale = int.Parse(strParam); + } + else if (strCommand == "Config_ItemBox_Count") + { + Config_ItemBox_Count = int.Parse(strParam); + } + else if (strCommand == "Config_ItemBox_X") + { + Config_ItemBox_X = new int[Config_ItemBox_Count]; + + string[] strSplit = strParam.Split(','); + for (int i = 0; i < Config_ItemBox_Count; i++) + { + Config_ItemBox_X[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_ItemBox_Y") + { + Config_ItemBox_Y = new int[Config_ItemBox_Count]; + + string[] strSplit = strParam.Split(','); + for (int i = 0; i < Config_ItemBox_Count; i++) + { + Config_ItemBox_Y[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_ItemBox_Font_Offset") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_ItemBox_Font_Offset[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_ItemBox_ItemValue_Font_Offset") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_ItemBox_ItemValue_Font_Offset[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_ExplanationPanel") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_ExplanationPanel[i] = int.Parse(strSplit[i]); + } + } + else if (strCommand == "Config_SkinSample1") + { + string[] strSplit = strParam.Split(','); + for (int i = 0; i < 2; i++) + { + Config_SkinSample1[i] = int.Parse(strSplit[i]); + } } #endregion @@ -2972,13 +3084,32 @@ namespace TJAPlayer3 #endregion #region Config - - public int Config_ItemText_Correction_X = 0; - public int Config_ItemText_Correction_Y = 0; public int Config_NamePlate_Ptn_Title; public int[] Config_NamePlate_Ptn_Title_Boxes; + public int[] Config_Arrow_X = new int[] { 552, 552 }; + public int[] Config_Arrow_Y = new int[] { 297, 363 }; + + public int[] Config_Arrow_Focus_X = new int[] { 552, 552 }; + public int[] Config_Arrow_Focus_Y = new int[] { 279, 381 }; + + public int[] Config_Item_X = new int[] { 282, 282, 282 }; + public int[] Config_Item_Y = new int[] { 153, 192, 231 }; + public int Config_Item_Width = 100; + public int[] Config_Item_Font_Offset = new int[] { 0, 8 }; + + public int Config_Font_Scale = 20; + + public int Config_ItemBox_Count = 10; + public int[] Config_ItemBox_X = new int[] { 602, 602, 602, 602, 602, 602, 602, 602, 602, 602 }; + public int[] Config_ItemBox_Y = new int[] { 4, 79, 154, 229, 304, 379, 454, 529, 604, 679 }; + public int[] Config_ItemBox_Font_Offset = new int[] { 20, 12 }; + public int[] Config_ItemBox_ItemValue_Font_Offset = new int[] { 400, 12 }; + + public int[] Config_ExplanationPanel = new int[] { 67, 382 }; + public int[] Config_SkinSample1 = new int[] { 124, 449 }; + #endregion #region Puchichara @@ -3118,8 +3249,7 @@ namespace TJAPlayer3 public int[] Title_ModeSelect_Bar_Center_BoxText = new int[] { 640, 397 }; - #endregion - + #endregion #region SongSelect public int SongSelect_Overall_Y = 123; diff --git a/TJAPlayer3/Stages/04.Config/CActConfigList.cs b/TJAPlayer3/Stages/04.Config/CActConfigList.cs index d0344b9a..ff212df7 100644 --- a/TJAPlayer3/Stages/04.Config/CActConfigList.cs +++ b/TJAPlayer3/Stages/04.Config/CActConfigList.cs @@ -787,9 +787,9 @@ namespace TJAPlayer3 #endregion if ( !string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName)) - this.prvFont = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 20 ); // t項目リストの設定 の前に必要 + this.prvFont = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.Config_Font_Scale); // t項目リストの設定 の前に必要 else - this.prvFont = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 20); + this.prvFont = new CPrivateFastFont(new FontFamily("MS UI Gothic"), TJAPlayer3.Skin.Config_Font_Scale); // this.listMenu = new List(); @@ -1037,7 +1037,7 @@ namespace TJAPlayer3 // 描画 - this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 0x228 : 0x25a; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。 + //this.ptパネルの基本座標[ 4 ].X = this.b項目リスト側にフォーカスがある ? 0x228 : 0x25a; // メニューにフォーカスがあるなら、項目リストの中央は頭を出さない。 #region [ 計11個の項目パネルを描画する。] //----------------- @@ -1045,12 +1045,14 @@ namespace TJAPlayer3 for( int i = 0; i < 4; i++ ) nItem = this.t前の項目( nItem ); - for( int n行番号 = -4; n行番号 < 6; n行番号++ ) // n行番号 == 0 がフォーカスされている項目パネル。 + for( int i = 0; i < TJAPlayer3.Skin.Config_ItemBox_Count; i++ ) // n行番号 == 0 がフォーカスされている項目パネル。 { + bool centerFlag = i == (TJAPlayer3.Skin.Config_ItemBox_Count / 2) - 1; + #region [ 今まさに画面外に飛びだそうとしている項目パネルは描画しない。] - //----------------- - if( ( ( n行番号 == -4 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || // 上に飛び出そうとしている - ( ( n行番号 == +5 ) && ( this.n現在のスクロールカウンタ < 0 ) ) ) // 下に飛び出そうとしている + //----------------- + if ( ( ( i == 0 ) && ( this.n現在のスクロールカウンタ > 0 ) ) || // 上に飛び出そうとしている + ( ( i == TJAPlayer3.Skin.Config_ItemBox_Count - 1) && ( this.n現在のスクロールカウンタ < 0 ) ) ) // 下に飛び出そうとしている { nItem = this.t次の項目( nItem ); continue; @@ -1058,10 +1060,9 @@ namespace TJAPlayer3 //----------------- #endregion - int n移動元の行の基本位置 = n行番号 + 4; - int n移動先の行の基本位置 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( n移動元の行の基本位置 + 1 ) % 10 ) : ( ( ( n移動元の行の基本位置 - 1 ) + 10 ) % 10 ); - int x = this.ptパネルの基本座標[ n移動元の行の基本位置 ].X + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].X - this.ptパネルの基本座標[ n移動元の行の基本位置 ].X ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); - int y = this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y + ( (int) ( ( this.ptパネルの基本座標[ n移動先の行の基本位置 ].Y - this.ptパネルの基本座標[ n移動元の行の基本位置 ].Y ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); + int n移動先の行の基本位置 = ( this.n現在のスクロールカウンタ <= 0 ) ? ( ( i + 1 ) % 10 ) : ( ( ( i - 1 ) + 10 ) % 10 ); + int x = TJAPlayer3.Skin.Config_ItemBox_X[ i ] + ( (int) ( (TJAPlayer3.Skin.Config_ItemBox_X[ n移動先の行の基本位置 ] - TJAPlayer3.Skin.Config_ItemBox_X[ i ] ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); + int y = TJAPlayer3.Skin.Config_ItemBox_Y[ i ] + ( (int) ( (TJAPlayer3.Skin.Config_ItemBox_Y[ n移動先の行の基本位置 ] - TJAPlayer3.Skin.Config_ItemBox_Y[ i ] ) * ( ( (double) Math.Abs( this.n現在のスクロールカウンタ ) ) / 100.0 ) ) ); #region [ 現在の行の項目パネル枠を描画。] //----------------- @@ -1079,7 +1080,7 @@ namespace TJAPlayer3 //----------------- if ( listMenu[ nItem ].txMenuItemRight != null ) // 自前のキャッシュに含まれているようなら、再レンダリングせずキャッシュを使用 { - listMenu[nItem].txMenuItemRight.t2D描画(TJAPlayer3.app.Device, x + 20 + TJAPlayer3.Skin.Config_ItemText_Correction_X, y + 12 + TJAPlayer3.Skin.Config_ItemText_Correction_Y); + listMenu[nItem].txMenuItemRight.t2D描画(TJAPlayer3.app.Device, x + TJAPlayer3.Skin.Config_ItemBox_Font_Offset[0], y + TJAPlayer3.Skin.Config_ItemBox_Font_Offset[1]); } else { @@ -1150,7 +1151,7 @@ namespace TJAPlayer3 //CDTXMania.stageコンフィグ.actFont.t文字列描画( x + 210, y + 12, ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(), ( n行番号 == 0 ) && this.b要素値にフォーカス中 ); strParam = ( (CItemInteger) this.list項目リスト[ nItem ] ).n現在の値.ToString(); } - b強調 = ( n行番号 == 0 ) && this.b要素値にフォーカス中; + b強調 = centerFlag && this.b要素値にフォーカス中; break; //----------------- #endregion @@ -1169,8 +1170,7 @@ namespace TJAPlayer3 tGenerateSkinSample(); // 最初にSkinの選択肢にきたとき(Enterを押す前)に限り、サンプル生成が発生する。 if ( txSkinSample1 != null ) { - txSkinSample1.t2D描画( TJAPlayer3.app.Device, 124, 449 ); - txSkinSample1.t2D描画( TJAPlayer3.app.Device, 124, 449 ); + txSkinSample1.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Config_SkinSample1[0], TJAPlayer3.Skin.Config_SkinSample1[1]); } } #endregion @@ -1185,7 +1185,7 @@ namespace TJAPlayer3 { using (var txStr = TJAPlayer3.tテクスチャの生成( bmpStr, false )) { - txStr.t2D描画( TJAPlayer3.app.Device, x + 400 + TJAPlayer3.Skin.Config_ItemText_Correction_X, y + 12 + TJAPlayer3.Skin.Config_ItemText_Correction_Y ); + txStr.t2D描画( TJAPlayer3.app.Device, x + TJAPlayer3.Skin.Config_ItemBox_ItemValue_Font_Offset[0], y + TJAPlayer3.Skin.Config_ItemBox_ItemValue_Font_Offset[1]); } } } @@ -1206,7 +1206,7 @@ namespace TJAPlayer3 listMenu[ nItem ] = stm; } - listMenu[ nItem ].txParam.t2D描画( TJAPlayer3.app.Device, x + 400 + TJAPlayer3.Skin.Config_ItemText_Correction_X, y + 12 + TJAPlayer3.Skin.Config_ItemText_Correction_Y ); + listMenu[ nItem ].txParam.t2D描画( TJAPlayer3.app.Device, x + TJAPlayer3.Skin.Config_ItemBox_ItemValue_Font_Offset[0], y + TJAPlayer3.Skin.Config_ItemBox_ItemValue_Font_Offset[1]); } //----------------- #endregion @@ -1220,7 +1220,8 @@ namespace TJAPlayer3 //----------------- if( this.b項目リスト側にフォーカスがある && ( this.n目標のスクロールカウンタ == 0 ) ) { - int x; + int x_upper; + int x_lower; int y_upper; int y_lower; @@ -1228,23 +1229,25 @@ namespace TJAPlayer3 if( this.b要素値にフォーカス中 ) { - x = 552; // 要素値の上下あたり。 - y_upper = 0x117 - this.ct三角矢印アニメ.n現在の値; - y_lower = 0x17d + this.ct三角矢印アニメ.n現在の値; + x_upper = TJAPlayer3.Skin.Config_Arrow_Focus_X[0]; // 要素値の上下あたり。 + x_lower = TJAPlayer3.Skin.Config_Arrow_Focus_X[1]; // 要素値の上下あたり。 + y_upper = TJAPlayer3.Skin.Config_Arrow_Focus_Y[0] - this.ct三角矢印アニメ.n現在の値; + y_lower = TJAPlayer3.Skin.Config_Arrow_Focus_Y[1] + this.ct三角矢印アニメ.n現在の値; } else { - x = 552; // 項目名の上下あたり。 - y_upper = 0x129 - this.ct三角矢印アニメ.n現在の値; - y_lower = 0x16b + this.ct三角矢印アニメ.n現在の値; + x_upper = TJAPlayer3.Skin.Config_Arrow_X[0]; // 要素値の上下あたり。 + x_lower = TJAPlayer3.Skin.Config_Arrow_X[1]; // 要素値の上下あたり。 + y_upper = TJAPlayer3.Skin.Config_Arrow_Y[0] - this.ct三角矢印アニメ.n現在の値; + y_lower = TJAPlayer3.Skin.Config_Arrow_Y[1] + this.ct三角矢印アニメ.n現在の値; } // 描画。 if( TJAPlayer3.Tx.Config_Arrow != null ) { - TJAPlayer3.Tx.Config_Arrow.t2D描画( TJAPlayer3.app.Device, x, y_upper, new Rectangle( 0, 0, 0x40, 0x18 ) ); - TJAPlayer3.Tx.Config_Arrow.t2D描画( TJAPlayer3.app.Device, x, y_lower, new Rectangle( 0, 0x18, 0x40, 0x18 ) ); + TJAPlayer3.Tx.Config_Arrow.t2D描画( TJAPlayer3.app.Device, x_upper, y_upper, new Rectangle( 0, 0, TJAPlayer3.Tx.Config_Arrow.sz画像サイズ.Width, TJAPlayer3.Tx.Config_Arrow.sz画像サイズ.Height / 2) ); + TJAPlayer3.Tx.Config_Arrow.t2D描画( TJAPlayer3.app.Device, x_lower, y_lower, new Rectangle( 0, TJAPlayer3.Tx.Config_Arrow.sz画像サイズ.Height / 2, TJAPlayer3.Tx.Config_Arrow.sz画像サイズ.Width, TJAPlayer3.Tx.Config_Arrow.sz画像サイズ.Height / 2) ); } } //----------------- @@ -1343,7 +1346,14 @@ namespace TJAPlayer3 private long nスクロール用タイマ値; private int n現在のスクロールカウンタ; private int n目標のスクロールカウンタ; - private Point[] ptパネルの基本座標 = new Point[] { new Point(0x25a, 4), new Point(0x25a, 0x4f), new Point(0x25a, 0x9a), new Point(0x25a, 0xe5), new Point(0x228, 0x130), new Point(0x25a, 0x17b), new Point(0x25a, 0x1c6), new Point(0x25a, 0x211), new Point(0x25a, 0x25c), new Point(0x25a, 0x2a7) }; + + /* + private Point[] ptパネルの基本座標 = new Point[] { + new Point(0x25a, 4), new Point(0x25a, 0x4f), new Point(0x25a, 0x9a), new Point(0x25a, 0xe5), + new Point(0x228, 0x130), + new Point(0x25a, 0x17b), new Point(0x25a, 0x1c6), new Point(0x25a, 0x211), new Point(0x25a, 0x25c), new Point(0x25a, 0x2a7) }; + */ + //private CTexture txその他項目行パネル; //private CTexture tx三角矢印; //private CTexture tx通常項目行パネル; diff --git a/TJAPlayer3/Stages/04.Config/CStageコンフィグ.cs b/TJAPlayer3/Stages/04.Config/CStageコンフィグ.cs index 9a688e8c..672bbe8f 100644 --- a/TJAPlayer3/Stages/04.Config/CStageコンフィグ.cs +++ b/TJAPlayer3/Stages/04.Config/CStageコンフィグ.cs @@ -127,7 +127,7 @@ namespace TJAPlayer3 txMenuItemLeft = new CTexture[strMenuItem.Length, 2]; - using (var prvFont = new CPrivateFastFont(new FontFamily(string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName) ? "MS UI Gothic" : TJAPlayer3.ConfigIni.FontName), 20)) + using (var prvFont = new CPrivateFastFont(new FontFamily(string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName) ? "MS UI Gothic" : TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.Config_Font_Scale)) { for (int i = 0; i < strMenuItem.Length; i++) { @@ -149,7 +149,7 @@ namespace TJAPlayer3 { if( !base.b活性化してない ) { - ctBackgroundAnime = new CCounter(0, 1280, 20, TJAPlayer3.Timer); + ctBackgroundAnime = new CCounter(0, TJAPlayer3.Tx.Config_Background.szテクスチャサイズ.Width, 20, TJAPlayer3.Timer); ReloadMenus(); @@ -230,7 +230,7 @@ namespace TJAPlayer3 //--------------------- for(int i = 0; i < 2; i++) if (TJAPlayer3.Tx.Config_Background != null ) - TJAPlayer3.Tx.Config_Background.t2D描画( TJAPlayer3.app.Device, 0 + -(1280 * i) + ctBackgroundAnime.n現在の値, 0 ); + TJAPlayer3.Tx.Config_Background.t2D描画( TJAPlayer3.app.Device, 0 + -(TJAPlayer3.Tx.Config_Background.szテクスチャサイズ.Width * i) + ctBackgroundAnime.n現在の値, 0 ); if(TJAPlayer3.Tx.Config_Header != null ) TJAPlayer3.Tx.Config_Header.t2D描画( TJAPlayer3.app.Device, 0, 0 ); //--------------------- @@ -240,7 +240,9 @@ namespace TJAPlayer3 #region [ Menu Cursor ] //--------------------- if( TJAPlayer3.Tx.Config_Cursor != null ) - { + { + #region Old + /* Rectangle rectangle; TJAPlayer3.Tx.Config_Cursor.Opacity = this.bメニューにフォーカス中 ? 255 : 128; int x = 110; @@ -258,26 +260,52 @@ namespace TJAPlayer3 } TJAPlayer3.Tx.Config_Cursor.t2D描画( TJAPlayer3.app.Device, x, y, rectangle ); x += rectangle.Width; - } - } - //--------------------- - #endregion - - #region [ Menu ] - //--------------------- - int menuY = 162 - 22 + 13; - int stepY = 39; - for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ ) - { - //Bitmap bmpStr = (this.n現在のメニュー番号 == i) ? - // prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : - // prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black ); - //txMenuItemLeft = CDTXMania.tテクスチャの生成( bmpStr, false ); - int flag = ( this.n現在のメニュー番号 == i ) ? 1 : 0; - int num4 = txMenuItemLeft[ i, flag ].sz画像サイズ.Width; - txMenuItemLeft[i, flag].t2D描画(TJAPlayer3.app.Device, 282 - (num4 / 2) + TJAPlayer3.Skin.Config_ItemText_Correction_X, menuY + TJAPlayer3.Skin.Config_ItemText_Correction_Y ); //55 + } + */ + #endregion + + + int x = TJAPlayer3.Skin.Config_Item_X[this.n現在のメニュー番号]; + int y = TJAPlayer3.Skin.Config_Item_Y[this.n現在のメニュー番号]; + + int width = TJAPlayer3.Tx.Config_Cursor.sz画像サイズ.Width / 3; + int height = TJAPlayer3.Tx.Config_Cursor.sz画像サイズ.Height; + + int move = TJAPlayer3.Skin.Config_Item_Width; + + //Left + TJAPlayer3.Tx.Config_Cursor.t2D中心基準描画(TJAPlayer3.app.Device, x - (width / 2) - move, y, + new Rectangle(0, 0, width, height)); + + //Right + TJAPlayer3.Tx.Config_Cursor.t2D中心基準描画(TJAPlayer3.app.Device, x + (width / 2) + move, y, + new Rectangle(width * 2, 0, width, height)); + + //Center + TJAPlayer3.Tx.Config_Cursor.vc拡大縮小倍率.X = (move / (float)width) * 2.0f; + TJAPlayer3.Tx.Config_Cursor.t2D拡大率考慮中央基準描画(TJAPlayer3.app.Device, x, y, + new Rectangle(width, 0, width, height)); + + TJAPlayer3.Tx.Config_Cursor.vc拡大縮小倍率.X = 1.0f; + } + //--------------------- + #endregion + + #region [ Menu ] + //--------------------- + //int menuY = 162 - 22 + 13; + //int stepY = 39; + for ( int i = 0; i < txMenuItemLeft.GetLength( 0 ); i++ ) + { + //Bitmap bmpStr = (this.n現在のメニュー番号 == i) ? + // prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black, Color.Yellow, Color.OrangeRed ) : + // prvFont.DrawPrivateFont( strMenuItem[ i ], Color.White, Color.Black ); + //txMenuItemLeft = CDTXMania.tテクスチャの生成( bmpStr, false ); + + int flag = (this.n現在のメニュー番号 == i) ? 1 : 0; + txMenuItemLeft[i, flag].t2D中心基準描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Config_Item_X[i] + TJAPlayer3.Skin.Config_Item_Font_Offset[0], TJAPlayer3.Skin.Config_Item_Y[i] + TJAPlayer3.Skin.Config_Item_Font_Offset[1]); //55 //txMenuItem.Dispose(); - menuY += stepY; + //menuY += stepY; } //--------------------- #endregion @@ -285,7 +313,7 @@ namespace TJAPlayer3 #region [ Explanation Panel ] //--------------------- if( this.tx説明文パネル != null ) - this.tx説明文パネル.t2D描画( TJAPlayer3.app.Device, 67, 382 ); + this.tx説明文パネル.t2D描画( TJAPlayer3.app.Device, TJAPlayer3.Skin.Config_ExplanationPanel[0], TJAPlayer3.Skin.Config_ExplanationPanel[1]); //--------------------- #endregion diff --git a/Test/System/SimpleStyle/ConfigConfig.ini b/Test/System/SimpleStyle/ConfigConfig.ini new file mode 100644 index 00000000..315a10eb --- /dev/null +++ b/Test/System/SimpleStyle/ConfigConfig.ini @@ -0,0 +1,38 @@ +;Included file +;Ƃ͒ʏʂݒł܂ +; TJAPlayer3-Develop-ReWriteŒljSkinConfig + +Config_Arrow_X=552,552 +Config_Arrow_Y=297,363 + + +Config_Arrow_Focus_X=552,552 +Config_Arrow_Focus_Y=279,381 + + +Config_Item_X=282,282,282 +Config_Item_Y=153,192,231 + + +Config_Item_Width=100 +Config_Item_Font_Offset=0,8 + + +Config_Font_Scale=20 + + +Config_ItemBox_Count=10 + + +Config_ItemBox_X=602,602,602,602,602,602,602,602,602,602 +Config_ItemBox_Y=4,79,154,229,304,379,454,529,604,679 + + +Config_ItemBox_Font_Offset=20,12 +Config_ItemBox_ItemValue_Font_Offset=400,12 + + +Config_ExplanationPanel=67,382 + + +Config_SkinSample1=124,449 \ No newline at end of file diff --git a/Test/System/SimpleStyle/SkinConfig.ini b/Test/System/SimpleStyle/SkinConfig.ini index c95a8df7..79cddfea 100644 --- a/Test/System/SimpleStyle/SkinConfig.ini +++ b/Test/System/SimpleStyle/SkinConfig.ini @@ -16,6 +16,7 @@ SongSelect_Auto_Y=642,642 ; Ot@CǂݍŎgp邱Ƃł悤ɂȂ܂ #include OtherConfig.ini #include TitleConfig.ini +#include ConfigConfig.ini Game_Notes_Anime=1