parent
							
								
									7d5a49862c
								
							
						
					
					
						commit
						3d8c996f6b
					
				|  | @ -66,5 +66,6 @@ sqr/User/UI/Widget/Scroll_Bar.nut | |||
| 
 | ||||
| sqr/User/UI/Window/0_Login.nut | ||||
| sqr/User/UI/Window/1_Select_Character.nut | ||||
| sqr/User/UI/Window/233_HUD_Message.nut | ||||
| 
 | ||||
| sqr/User/main.nut | ||||
|  | @ -0,0 +1,133 @@ | |||
| /* | ||||
| 文件名: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,5 +169,8 @@ | |||
|     }, | ||||
|     "User/UI/Widget/Drag_Button.nut": { | ||||
|         "description": "拖动按钮" | ||||
|     }, | ||||
|     "User/UI/Window/233_HUD_Message.nut": { | ||||
|         "description": "公告弹窗" | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue