Compare commits
	
		
			No commits in common. "c7dfe7c994f24d3a7d9ece7414782fa3d240093f" and "a839f2dc36ca92b56c27a650c32a2eda5f56d0b4" have entirely different histories.
		
	
	
		
			c7dfe7c994
			...
			a839f2dc36
		
	
		|  | @ -185,94 +185,6 @@ class Yosin_EmeStretch extends Yosin_CommonUi { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| //九宫格拉伸 |  | ||||||
| class Yosin_NineBoxStretch extends Yosin_CommonUi { |  | ||||||
| 
 |  | ||||||
|     constructor(X, Y, W, H, Path, Idx) { |  | ||||||
|         base.constructor(X, Y, W, H); |  | ||||||
|         DrawBackground( W, H, Path, Idx); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     // 绘制 |  | ||||||
|     function DrawBackground(width, height, path, imgId) { |  | ||||||
| 
 |  | ||||||
|         local x = 0; |  | ||||||
|         local y = 0; |  | ||||||
| 
 |  | ||||||
|         // 左上角 |  | ||||||
|         local backgroundTopLeft = CL_SpriteObject(path, imgId); |  | ||||||
|         backgroundTopLeft.SetPosition(x, y); |  | ||||||
|         Addchild(backgroundTopLeft); |  | ||||||
|         // 左上角图片大小 |  | ||||||
|         local cornerImgSize = backgroundTopLeft.GetSize(); |  | ||||||
|         local cornerWidth = cornerImgSize.w; |  | ||||||
|         local cornerHeight = cornerImgSize.h; |  | ||||||
| 
 |  | ||||||
|         // 中间 |  | ||||||
|         local backgroundCenter = CL_SpriteObject(path, imgId + 4); |  | ||||||
|         backgroundCenter.SetPosition(cornerWidth, y + cornerHeight); |  | ||||||
|         Addchild(backgroundCenter); |  | ||||||
|         // 中间图片大小 |  | ||||||
|         local centerImgSize = backgroundCenter.GetSize(); |  | ||||||
|         local centerWidth = centerImgSize.w; |  | ||||||
|         local centerHeight = centerImgSize.h; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         local scaleW = (width.tofloat() - cornerWidth.tofloat() * 2.0) / centerWidth.tofloat(); |  | ||||||
|         local scaleH = (height.tofloat() - y.tofloat() - cornerHeight.tofloat()) / centerHeight.tofloat(); |  | ||||||
| 
 |  | ||||||
|         // 上边 |  | ||||||
|         local backgroundTop = CL_SpriteObject(path, imgId + 1); |  | ||||||
|         backgroundTop.SetPosition(cornerWidth, y); |  | ||||||
|         backgroundTop.SetScale(scaleW, 1); |  | ||||||
|         Addchild(backgroundTop); |  | ||||||
| 
 |  | ||||||
|         // 右上角 |  | ||||||
|         local backgroundTopRight = CL_SpriteObject(path, imgId + 2); |  | ||||||
|         backgroundTopRight.SetPosition(width - cornerWidth, y); |  | ||||||
|         Addchild(backgroundTopRight); |  | ||||||
| 
 |  | ||||||
|         // 左边 |  | ||||||
|         local backgroundLeft = CL_SpriteObject(path, imgId + 3); |  | ||||||
|         backgroundLeft.SetPosition(x, y + cornerHeight ); |  | ||||||
|         backgroundLeft.SetScale(1, scaleH); |  | ||||||
|         Addchild(backgroundLeft); |  | ||||||
| 
 |  | ||||||
|         // 中间 |  | ||||||
|         backgroundCenter.SetScale(scaleW, scaleH); |  | ||||||
| 
 |  | ||||||
|         // 右边 |  | ||||||
|         local backgroundRight = CL_SpriteObject(path, imgId + 5); |  | ||||||
|         backgroundRight.SetPosition(width - cornerWidth, y + cornerHeight); |  | ||||||
|         backgroundRight.SetScale(1, scaleH); |  | ||||||
|         Addchild(backgroundRight); |  | ||||||
| 
 |  | ||||||
|         // 左下角 |  | ||||||
|         local backgroundBottomLeft = CL_SpriteObject(path, imgId + 6); |  | ||||||
|         backgroundBottomLeft.SetPosition(x, height - cornerHeight); |  | ||||||
|         Addchild(backgroundBottomLeft); |  | ||||||
| 
 |  | ||||||
|         // 下边 |  | ||||||
|         local backgroundBottom = CL_SpriteObject(path, imgId + 7); |  | ||||||
|         backgroundBottom.SetPosition(cornerWidth, height - cornerHeight); |  | ||||||
|         backgroundBottom.SetScale( scaleW , 1); |  | ||||||
|         Addchild(backgroundBottom); |  | ||||||
| 
 |  | ||||||
|         // 右下角 |  | ||||||
|         local backgroundBottomRight = CL_SpriteObject(path, imgId + 8); |  | ||||||
|         backgroundBottomRight.SetPosition(width - cornerWidth, height - cornerHeight); |  | ||||||
|         Addchild(backgroundBottomRight); |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| //拼接按钮 | //拼接按钮 | ||||||
| class Yosin_SplicingButton extends Yosin_CommonUi { | class Yosin_SplicingButton extends Yosin_CommonUi { | ||||||
|     //按钮状态 |     //按钮状态 | ||||||
|  |  | ||||||
|  | @ -66,6 +66,5 @@ sqr/User/UI/Widget/Scroll_Bar.nut | ||||||
| 
 | 
 | ||||||
| sqr/User/UI/Window/0_Login.nut | sqr/User/UI/Window/0_Login.nut | ||||||
| sqr/User/UI/Window/1_Select_Character.nut | sqr/User/UI/Window/1_Select_Character.nut | ||||||
| sqr/User/UI/Window/233_HUD_Message.nut |  | ||||||
| 
 | 
 | ||||||
| sqr/User/main.nut | sqr/User/main.nut | ||||||
|  | @ -23,9 +23,11 @@ class _FontAssetManager_ { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     //生成普通宋体小字 |     //生成普通宋体小字 | ||||||
|     function GenerateNormal(text, stroke, style = {}) { |     function GenerateNormal(text, rgba, stroke) { | ||||||
|         //登录按钮文本 |         //登录按钮文本 | ||||||
|         local TextActor = TextActor(0, style); |         local TextActor = TextActor(0, { | ||||||
|  |             color = rgba | ||||||
|  |         }); | ||||||
|         TextActor.SetText(text); |         TextActor.SetText(text); | ||||||
|         if (stroke) |         if (stroke) | ||||||
|             TextActor.SetOutline(3.0); |             TextActor.SetOutline(3.0); | ||||||
|  |  | ||||||
|  | @ -1,133 +0,0 @@ | ||||||
| /* |  | ||||||
| 文件名:233_HUD_Message.nut |  | ||||||
| 路径:User/UI/Window/233_HUD_Message.nut |  | ||||||
| 创建日期:2024-12-14	08:10 |  | ||||||
| 文件用途: 公告或信息弹窗 |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| class HUD_Message extends Yosin_Window { |  | ||||||
|     //调试模式 |  | ||||||
|     // DeBugMode = true; |  | ||||||
| 
 |  | ||||||
|     //不是窗口 |  | ||||||
|     // NoWindow = true; |  | ||||||
| 
 |  | ||||||
|     //是否可见 |  | ||||||
|     // Visible = false; |  | ||||||
| 
 |  | ||||||
|     BackGroundMusic = null; |  | ||||||
| 
 |  | ||||||
|     cacheW = 230; |  | ||||||
|     cacheH = 155; |  | ||||||
| 
 |  | ||||||
|     titleTextActor = null; |  | ||||||
|     messageTextActor = null; |  | ||||||
| 
 |  | ||||||
|     constructor(gX, gY, message, info = { |  | ||||||
|         // 标题 |  | ||||||
|         title = "公告", |  | ||||||
|         // 水平边距 |  | ||||||
|         horizontalMargin = 20, |  | ||||||
|         // 垂直边距 |  | ||||||
|         verticalMargin = 20, |  | ||||||
|     } ) { |  | ||||||
| 
 |  | ||||||
|         local title = info.rawin("title") ? info.title  : "公告"; |  | ||||||
|         local horizontalMargin = info.rawin("horizontalMargin") ? info.horizontalMargin  : 20; |  | ||||||
|         local verticalMargin = info.rawin("verticalMargin") ? info.verticalMargin : 20; |  | ||||||
| 
 |  | ||||||
|         // 标题 |  | ||||||
|         titleTextActor = FontAssetManager.GenerateNormal(title, true, { |  | ||||||
|             color = sq_RGBA(206, 189, 140, 255), |  | ||||||
|             alignment = TextAlign.Center, |  | ||||||
|         }); |  | ||||||
| 
 |  | ||||||
|         // 标题动态宽度 |  | ||||||
|         if (titleTextActor.GetSize().w > cacheW - 40) { |  | ||||||
|             cacheW = titleTextActor.GetSize().w + 40; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         // 内容 |  | ||||||
|         messageTextActor = FontAssetManager.GenerateNormal(message, false, { |  | ||||||
|             color = sq_RGBA(206, 189, 140, 255), |  | ||||||
|             alignment = TextAlign.Center, |  | ||||||
|             wrap_width = cacheW - horizontalMargin * 2, |  | ||||||
|         }); |  | ||||||
| 
 |  | ||||||
|         //  内容动态高度 |  | ||||||
|         local verticalMargin = 50 + verticalMargin * 2; |  | ||||||
|         cacheH = messageTextActor.GetSize().h + verticalMargin; |  | ||||||
| 
 |  | ||||||
|         print("cacheW:" + cacheW.tostring()); |  | ||||||
|         print("cacheH:" + cacheH.tostring()); |  | ||||||
| 
 |  | ||||||
|         // 默认构造数据 |  | ||||||
|         base.constructor("公告或信息弹窗" + clock().tostring() , gX, gY, cacheW, cacheH, 20); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         //注册控件 |  | ||||||
|         RegisterWidget(); |  | ||||||
|         //注册绘制 |  | ||||||
|         RegisterDraw(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     function RegisterWidget() { |  | ||||||
|         //背景 |  | ||||||
|         local background = Yosin_NineBoxStretch(-1, 15, cacheW + 2, cacheH, "sprite/interface/lenheartwindowcommon.img", 97); |  | ||||||
|         AddUIChild(background); |  | ||||||
|         local twoBackground = Yosin_NineBoxStretch(4, 20, cacheW - 8, cacheH - 36, "sprite/interface/lenheartwindowcommon.img", 97); |  | ||||||
|         AddUIChild(twoBackground); |  | ||||||
| 
 |  | ||||||
|         // 绘制标题背景 |  | ||||||
|         local titleBackground = Yosin_EmeStretch(0, 0, cacheW, 20, "sprite/interface/lenheartwindowcommon.img", 609); |  | ||||||
|         AddUIChild(titleBackground); |  | ||||||
| 
 |  | ||||||
|         //确认按钮 |  | ||||||
|         local confirmButton = Yosin_BaseButton( cacheW / 2  - 28, cacheH - 15, 56, 24 "sprite/interface/lenheartwindowcommon.img", 12); |  | ||||||
|         confirmButton.OnClick = function(Button) { |  | ||||||
|             this.RemoveSelf(); |  | ||||||
|         }.bindenv(this); |  | ||||||
|         AddUIChild(confirmButton); |  | ||||||
| 
 |  | ||||||
|         // 绘制标题 |  | ||||||
|         local confirmTextActor = FontAssetManager.GenerateNormal("确认", sq_RGBA(206, 189, 140, 255), true); |  | ||||||
|         confirmTextActor.SetPosition(17, 6); |  | ||||||
|         confirmButton.Addchild(confirmTextActor); |  | ||||||
| 
 |  | ||||||
|         //关闭按钮 |  | ||||||
|         local closeButton = Yosin_BaseButton( cacheW - 15, 5, 10, 9 "sprite/interface/lenheartwindowcommon.img", 42); |  | ||||||
|         closeButton.OnClick = function(Button) { |  | ||||||
|             this.RemoveSelf(); |  | ||||||
|         }.bindenv(this); |  | ||||||
|         AddUIChild(closeButton); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     function RegisterDraw() { |  | ||||||
| 
 |  | ||||||
|         local titleX = cacheW / 2 - titleTextActor.GetSize().w / 2; |  | ||||||
|         // 绘制标题 |  | ||||||
|         titleTextActor.SetPosition( titleX , 2); |  | ||||||
|         Addchild(titleTextActor); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         local messageX = cacheW / 2 - messageTextActor.GetSize().w / 2; |  | ||||||
|         local messageY = cacheH / 2 - messageTextActor.GetSize().h / 2; |  | ||||||
| 
 |  | ||||||
|         // 绘制内容 |  | ||||||
|         messageTextActor.SetPosition( messageX , messageY ); |  | ||||||
|         Addchild(messageTextActor); |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     //逻辑入口 |  | ||||||
|     function Proc(Dt) { |  | ||||||
| 
 |  | ||||||
|         SyncPos(X, Y); |  | ||||||
|         base.Proc(Dt); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
|  | @ -169,8 +169,5 @@ | ||||||
|     }, |     }, | ||||||
|     "User/UI/Widget/Drag_Button.nut": { |     "User/UI/Widget/Drag_Button.nut": { | ||||||
|         "description": "拖动按钮" |         "description": "拖动按钮" | ||||||
|     }, |  | ||||||
|     "User/UI/Window/233_HUD_Message.nut": { |  | ||||||
|         "description": "公告弹窗" |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
		Loading…
	
		Reference in New Issue