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