窗口UI更新
This commit is contained in:
parent
3d8c996f6b
commit
230ddba3f6
|
|
@ -19,6 +19,9 @@ class _Login_Window extends Yosin_Window {
|
|||
|
||||
BackGroundMusic = null;
|
||||
|
||||
//信息
|
||||
PackInfo = null;
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
|
||||
|
|
@ -30,6 +33,35 @@ class _Login_Window extends Yosin_Window {
|
|||
|
||||
//播放音乐
|
||||
PlayBackgroundMusic();
|
||||
|
||||
//注册登录回调包
|
||||
MySocket.RegisterHandler(2, function(Jso) {
|
||||
//登录成功
|
||||
if (Jso.state) {
|
||||
HUD_Message(500, 200, "登录成功,正在进入游戏...");
|
||||
MySocket.Send(9, null);
|
||||
} else {
|
||||
HUD_Message(500, 200, "登录失败");
|
||||
}
|
||||
}.bindenv(this));
|
||||
|
||||
//注册获取角色列表回包
|
||||
MySocket.RegisterHandler(10, function(Jso) {
|
||||
PackInfo = Jso;
|
||||
}.bindenv(this));
|
||||
//注册获取角色列表的装备回包
|
||||
MySocket.RegisterBinaryHandler(10, function(Blob) {
|
||||
Blob.readn('i');
|
||||
foreach(info in PackInfo.charac) {
|
||||
info.equip <- [];
|
||||
for (local i = 0; i< 15; i++) {
|
||||
local value = Blob.readn('i');
|
||||
info.equip.append(value);
|
||||
}
|
||||
}
|
||||
local Window = Sq_CreateWindow(_Select_Character_Window, "选择角色界面窗口", 0, 0, 1066, 600, 0);
|
||||
Window.Init(PackInfo);
|
||||
}.bindenv(this));
|
||||
}
|
||||
|
||||
function PlayBackgroundMusic() {
|
||||
|
|
|
|||
|
|
@ -77,11 +77,12 @@ class _Select_Character_SettingBackground_Window extends Yosin_Window {
|
|||
IsIndependent = false;
|
||||
|
||||
//是否可见
|
||||
// Visible = false;
|
||||
Visible = false;
|
||||
|
||||
//选择背景按钮集合
|
||||
SettingBackgroundButtonList = null;
|
||||
|
||||
//背景对象
|
||||
Background = null;
|
||||
|
||||
ScrollObject = null;
|
||||
|
|
@ -90,9 +91,7 @@ class _Select_Character_SettingBackground_Window extends Yosin_Window {
|
|||
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
SettingBackgroundButtonList = [];
|
||||
|
||||
SetClipRect(0, 0, gWidth, gHeight);
|
||||
// ShowBorder(true);
|
||||
// SetLayerOpacity(1);
|
||||
SetClipRect(5, 9, gWidth, gHeight - 9);
|
||||
}
|
||||
|
||||
function Init() {
|
||||
|
|
@ -103,13 +102,17 @@ class _Select_Character_SettingBackground_Window extends Yosin_Window {
|
|||
function RegisterDraw() {
|
||||
//背景
|
||||
Background = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/setup/setup.img", 17);
|
||||
Addchild(Background);
|
||||
Background.SetPosition(X, Y);
|
||||
Background.SetZOrder(-10);
|
||||
Background.SetVisible(false);
|
||||
//因为裁切原因 所以要添加到父对象中
|
||||
Parent.Addchild(Background);
|
||||
|
||||
for (local i = 0; i< 24; i++) {
|
||||
local Buf = _Select_Character_SettingBackground_Object_Window(5 + (101 * (i % 2)), 9 + (61 * (i / 2)), 91, 51, i);
|
||||
SettingBackgroundButtonList.push(Buf);
|
||||
//如果是父对象默认构造的默认是勾选状态
|
||||
if (i == Parent.Info.Background) {
|
||||
if (i == Parent.Info.loginImg) {
|
||||
Buf.SelectMask.SetVisible(true);
|
||||
Buf.SelectFlag = true;
|
||||
}
|
||||
|
|
@ -126,10 +129,45 @@ class _Select_Character_SettingBackground_Window extends Yosin_Window {
|
|||
}
|
||||
|
||||
|
||||
//逻辑入口
|
||||
function Proc(Dt) {
|
||||
SyncPos(X, Y);
|
||||
base.Proc(Dt);
|
||||
//override
|
||||
//设置是否可见 通过重载设置可见同步Background的可见性
|
||||
function SetVisible(Flag) {
|
||||
base.SetVisible(Flag);
|
||||
if (Flag) {
|
||||
if (Background) Background.SetVisible(true);
|
||||
} else {
|
||||
if (Background) Background.SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//角色
|
||||
class _Select_Character_Chr extends Yosin_Window {
|
||||
//是否为独立窗口
|
||||
IsIndependent = false;
|
||||
|
||||
Info = null;
|
||||
|
||||
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
|
||||
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
|
||||
RegisterDraw();
|
||||
}
|
||||
|
||||
function Init(Info) {
|
||||
this.Info = Info;
|
||||
RegisterCharac();
|
||||
}
|
||||
|
||||
function RegisterDraw() {
|
||||
local Magic = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/selectcharacter.img", 10);
|
||||
Addchild(Magic);
|
||||
}
|
||||
|
||||
function RegisterCharac() {
|
||||
local Charc = GameObject.CreateCharacter(Info.job, Info.equip);
|
||||
Charc.SetAnimation("RestAni");
|
||||
Charc.SetPosition(48, 12, 0);
|
||||
Addchild(Charc);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -150,6 +188,8 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
SettingBackgroundWindow = null;
|
||||
//背景图片
|
||||
BackGround = null;
|
||||
//角色遮罩栏
|
||||
CharacterMaskBox = null;
|
||||
|
||||
//信息
|
||||
Info = null;
|
||||
|
|
@ -193,6 +233,13 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
AddUIChild(SettingBackgroundWindow);
|
||||
//先添加为子对象 因为子对象需要用到父对象
|
||||
SettingBackgroundWindow.Init();
|
||||
|
||||
//角色对象
|
||||
for (local i = 0; i< 5; i++) {
|
||||
local Buf = _Select_Character_Chr("选择角色角色对象" + i, 190 + (i * 144), ((i % 2) ? 15 : 0) + 225, 126, 208, 0);
|
||||
if (i< Info.charac.len()) Buf.Init(Info.charac[i]);
|
||||
AddUIChild(Buf);
|
||||
}
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
|
|
@ -217,7 +264,6 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
})
|
||||
SettingButton.Addchild(LoginTextActor);
|
||||
|
||||
|
||||
}
|
||||
|
||||
//切换背景
|
||||
|
|
@ -227,23 +273,18 @@ class _Select_Character_Window extends Yosin_Window {
|
|||
BackGround = null;
|
||||
}
|
||||
BackGround = CL_SpriteObject("sprite/interface2/selectcharacter_ver2/background/large/background_large_event.img", Idx);
|
||||
BackGround.SetZOrder(-10);
|
||||
|
||||
/*
|
||||
|
||||
BackGround = Layer();
|
||||
BackGround.Addchild(CL_SpriteObject("sprite/interface2/selectcharacter_ver2/background/large/background_large_event.img", Idx));
|
||||
BackGround.SetZOrder(-10);
|
||||
BackGround.SetPosition(100, 100);
|
||||
BackGround.SetClipRect(0, 0, 200, 200);
|
||||
|
||||
*/
|
||||
BackGround.SetZOrder(-100);
|
||||
Addchild(BackGround);
|
||||
}
|
||||
|
||||
function RegisterDraw() {
|
||||
//大背景 根据玩家的设定背景决定
|
||||
ChangeBackground(Info.Background);
|
||||
ChangeBackground(Info.loginImg);
|
||||
|
||||
//角色遮罩栏
|
||||
CharacterMaskBox = Yosin_NineBoxStretch(-4, 330, 1074, 680, "sprite/interface/lenheartwindowcommon.img", 0);
|
||||
AddUIChild(CharacterMaskBox);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,10 +30,10 @@ class HUD_Message extends Yosin_Window {
|
|||
horizontalMargin = 20,
|
||||
// 垂直边距
|
||||
verticalMargin = 20,
|
||||
} ) {
|
||||
}) {
|
||||
|
||||
local title = info.rawin("title") ? info.title : "公告";
|
||||
local horizontalMargin = info.rawin("horizontalMargin") ? info.horizontalMargin : 20;
|
||||
local title = info.rawin("title") ? info.title : "公告";
|
||||
local horizontalMargin = info.rawin("horizontalMargin") ? info.horizontalMargin : 20;
|
||||
local verticalMargin = info.rawin("verticalMargin") ? info.verticalMargin : 20;
|
||||
|
||||
// 标题
|
||||
|
|
@ -59,17 +59,16 @@ class HUD_Message extends Yosin_Window {
|
|||
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);
|
||||
base.constructor("公告或信息弹窗" + clock().tostring(), gX, gY, cacheW, cacheH, 20);
|
||||
|
||||
|
||||
//注册控件
|
||||
RegisterWidget();
|
||||
//注册绘制
|
||||
RegisterDraw();
|
||||
|
||||
ResetFocus();
|
||||
}
|
||||
|
||||
function RegisterWidget() {
|
||||
|
|
@ -84,9 +83,10 @@ class HUD_Message extends Yosin_Window {
|
|||
AddUIChild(titleBackground);
|
||||
|
||||
//确认按钮
|
||||
local confirmButton = Yosin_BaseButton( cacheW / 2 - 28, cacheH - 15, 56, 24 "sprite/interface/lenheartwindowcommon.img", 12);
|
||||
local confirmButton = Yosin_BaseButton(cacheW / 2 - 28, cacheH - 15, 56, 24 "sprite/interface/lenheartwindowcommon.img", 12);
|
||||
confirmButton.OnClick = function(Button) {
|
||||
this.RemoveSelf();
|
||||
//关闭本窗口
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddUIChild(confirmButton);
|
||||
|
||||
|
|
@ -96,9 +96,10 @@ class HUD_Message extends Yosin_Window {
|
|||
confirmButton.Addchild(confirmTextActor);
|
||||
|
||||
//关闭按钮
|
||||
local closeButton = Yosin_BaseButton( cacheW - 15, 5, 10, 9 "sprite/interface/lenheartwindowcommon.img", 42);
|
||||
local closeButton = Yosin_BaseButton(cacheW - 15, 5, 10, 9 "sprite/interface/lenheartwindowcommon.img", 42);
|
||||
closeButton.OnClick = function(Button) {
|
||||
this.RemoveSelf();
|
||||
//关闭本窗口
|
||||
CloseWindow();
|
||||
}.bindenv(this);
|
||||
AddUIChild(closeButton);
|
||||
|
||||
|
|
@ -109,7 +110,7 @@ class HUD_Message extends Yosin_Window {
|
|||
|
||||
local titleX = cacheW / 2 - titleTextActor.GetSize().w / 2;
|
||||
// 绘制标题
|
||||
titleTextActor.SetPosition( titleX , 2);
|
||||
titleTextActor.SetPosition(titleX, 2);
|
||||
Addchild(titleTextActor);
|
||||
|
||||
|
||||
|
|
@ -117,7 +118,7 @@ class HUD_Message extends Yosin_Window {
|
|||
local messageY = cacheH / 2 - messageTextActor.GetSize().h / 2;
|
||||
|
||||
// 绘制内容
|
||||
messageTextActor.SetPosition( messageX , messageY );
|
||||
messageTextActor.SetPosition(messageX, messageY);
|
||||
Addchild(messageTextActor);
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue