| 
									
										
										
										
											2024-12-11 15:08:57 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名:TextActor.nut | 
					
						
							|  |  |  | 路径:Core/BaseClass/TextObject/TextActor.nut | 
					
						
							|  |  |  | 创建日期:2024-12-01	19:51 | 
					
						
							|  |  |  | 文件用途:文本样式 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | class TextActor extends CL_BaseObject { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |     //不需要Update函数 | 
					
						
							|  |  |  |     NoUpdate = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     OutlineChild = null; | 
					
						
							|  |  |  |     Strokeoffsets = [{ | 
					
						
							|  |  |  |             x = 1, | 
					
						
							|  |  |  |             y = 0 | 
					
						
							|  |  |  |         }, // 右 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = 1, | 
					
						
							|  |  |  |             y = 1 | 
					
						
							|  |  |  |         }, // 右上 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = 0, | 
					
						
							|  |  |  |             y = 1 | 
					
						
							|  |  |  |         }, // 上 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = -1, | 
					
						
							|  |  |  |             y = 1 | 
					
						
							|  |  |  |         }, // 左上 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = -1, | 
					
						
							|  |  |  |             y = 0 | 
					
						
							|  |  |  |         }, // 左 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = -1, | 
					
						
							|  |  |  |             y = -1 | 
					
						
							|  |  |  |         }, // 左下 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = 0, | 
					
						
							|  |  |  |             y = -1 | 
					
						
							|  |  |  |         }, // 下 | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             x = 1, | 
					
						
							|  |  |  |             y = -1 | 
					
						
							|  |  |  |         } // 右下 | 
					
						
							|  |  |  |     ]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-11 15:08:57 +08:00
										 |  |  |     /* | 
					
						
							|  |  |  |      * @函数作用: 构造文本精灵 | 
					
						
							|  |  |  |      * @参数 font 可传入全局font Id 或 传入 font对象 | 
					
						
							|  |  |  |      * @参数 textstyle Map 可选对象: | 
					
						
							|  |  |  |         alignment 对其方式 | 
					
						
							|  |  |  |         wrap_width 自动换行宽度 | 
					
						
							|  |  |  |         line_spacing 行间距 | 
					
						
							|  |  |  |         show_underline 显示下划线 | 
					
						
							|  |  |  |         show_strikethrough 	显示删除线 | 
					
						
							|  |  |  |         color 颜色 | 
					
						
							|  |  |  |      * @返回值 | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  |     constructor(font, textstyle = {}) { | 
					
						
							|  |  |  |         switch (typeof font) { | 
					
						
							|  |  |  |             case "integer": | 
					
						
							|  |  |  |                 C_Object = TextActor_Create(__Font__Map__[font].C_Object, textstyle); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             case "font_data": | 
					
						
							|  |  |  |                 C_Object = TextActor_Create(font.C_Object, textstyle); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |             default: | 
					
						
							|  |  |  |                 C_Object = TextActor_Create(Font().C_Object, textstyle); | 
					
						
							|  |  |  |                 break; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //传递字体类 | 
					
						
							|  |  |  |         base.constructor(C_Object); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //设置文本内容 | 
					
						
							|  |  |  |     function SetText(str) { | 
					
						
							|  |  |  |         TextActor_SetText(this.C_Object, str); | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |         if (OutlineChild) { | 
					
						
							|  |  |  |             foreach(obj in OutlineChild) { | 
					
						
							|  |  |  |                 obj.SetText(str); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-12-11 15:08:57 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //设置描边 | 
					
						
							|  |  |  |     function SetOutline(width, color = Color.Black, cap = CapStyle.Square, line_join = LineJoinStyle.Round, dash = DashStyle.Solid) { | 
					
						
							|  |  |  |         TextActor_SetOutLine(this.C_Object, width, color, cap, line_join, dash); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-12-13 20:52:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-18 12:30:47 +08:00
										 |  |  |     // //设置描边 | 
					
						
							|  |  |  |     // function SetOutline(style) { | 
					
						
							|  |  |  |     //     OutlineChild = []; | 
					
						
							|  |  |  |     //     for (local i = 0; i< 8; i++) { | 
					
						
							|  |  |  |     //         style.color = 0xff000000; | 
					
						
							|  |  |  |     //         local buf = FontAssetManager.GenerateNormal("", false, style); | 
					
						
							|  |  |  |     //         buf.SetPosition(Strokeoffsets[i]); | 
					
						
							|  |  |  |     //         buf.SetZOrder(-1); | 
					
						
							|  |  |  |     //         OutlineChild.push(buf); | 
					
						
							|  |  |  |     //         Addchild(buf); | 
					
						
							|  |  |  |     //     } | 
					
						
							|  |  |  |     // } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-13 20:52:06 +08:00
										 |  |  |     //设置填充颜色 | 
					
						
							|  |  |  |     function SetFillColor(Color) { | 
					
						
							|  |  |  |         TextActor_SetFillColor(this.C_Object, Color); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-12-11 15:08:57 +08:00
										 |  |  | } |