DOF/sqr/User/UI/Window/0_Login.nut

129 lines
4.1 KiB
Plaintext

/*
文件名:0_Login.nut
路径:User/UI/0_Login.nut
创建日期:2024-12-01 15:13
文件用途:登录界面窗口
*/
class _Login_Window extends Yosin_Window {
//调试模式
// DeBugMode = true;
//不是窗口
// NoWindow = true;
//是否可见
// Visible = false;
AccountInputBox = null;
PasswordInputBox = null;
BackGroundMusic = null;
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
//注册绘制
RegisterDraw();
//注册控件
RegisterWidget();
// OpenDeBug();
//播放音乐
PlayBackgroundMusic();
}
function PlayBackgroundMusic() {
// BackGroundMusic = Sound("SoundPacks/Loop.ogg");
// BackGroundMusic.Play();
}
function MusicLogic() {
if (BackGroundMusic == null) return;
if (!BackGroundMusic.IsPlaying()) BackGroundMusic.Play();
}
function RegisterWidget() {
//账号输入框
local AccountInputBox = Yosin_InputBox(752, 240, 200);
AddUIChild(AccountInputBox);
//密码输入框
local PasswordInputBox = Yosin_InputBox(752, 280, 200);
AddUIChild(PasswordInputBox);
//登录按钮
local LoginButton = Yosin_BaseButton(770, 410, 77, 24 "sprite/interface/lenheartwindowcommon.img", 90);
//点击事件回调
LoginButton.OnClick = function(Button) {
MySocket.Send(1, {
account = AccountInputBox.str,
password = PasswordInputBox.str
})
}.bindenv(this);
//登录按钮文本
local LoginTextActor = FontAssetManager.GenerateNormal("登录", sq_RGBA(200, 195, 169, 255), true);
LoginTextActor.SetPosition(26, 4);
LoginButton.Addchild(LoginTextActor);
AddUIChild(LoginButton);
//注册按钮
local RegisterButton = Yosin_BaseButton(865, 410, 77, 24 "sprite/interface/lenheartwindowcommon.img", 90);
//点击事件回调
RegisterButton.OnClick = function(Button) {
MySocket.Send(3, {
account = AccountInputBox.str,
password = PasswordInputBox.str
})
}.bindenv(this);
//注册按钮文本
local RegisterTextActor = FontAssetManager.GenerateNormal("注册", sq_RGBA(200, 195, 169, 255), true);
RegisterTextActor.SetPosition(26, 4);
RegisterButton.Addchild(RegisterTextActor);
AddUIChild(RegisterButton);
}
function RegisterDraw() {
//大背景
local BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 14);
Addchild(BackGround);
//左上角的背景
local Cover = CL_SpriteObject("sprite/interface2/channel/channelselect/channelbackground/channelbackground.img", 20);
Addchild(Cover);
//登录框的背景
local LoginBoxBg = CL_SpriteObject("sprite/login_ui.img", 3);
LoginBoxBg.SetPosition(634, 0);
Addchild(LoginBoxBg);
local AniObj = Animation("ui/selectcharacter/animation/selectcharactereffect.ani");
AniObj.SetPosition(770, 0);
Addchild(AniObj);
//登录游戏字体
local LoginText = CL_SpriteObject("sprite/login_ui.img", 0);
LoginText.SetPosition(796, 65);
Addchild(LoginText);
//登录游戏说明
local LoginTexttip = CL_SpriteObject("sprite/login_ui.img", 1);
LoginTexttip.SetPosition(-33, 40);
LoginText.Addchild(LoginTexttip);
//账号
local AccountTextActor = FontAssetManager.GenerateNormal("账号:", sq_RGBA(200, 195, 169, 255), false);
AccountTextActor.SetPosition(720, 241);
Addchild(AccountTextActor);
//密码
local PasswordTextActor = FontAssetManager.GenerateNormal("密码:", sq_RGBA(200, 195, 169, 255), false);
PasswordTextActor.SetPosition(720, 281);
Addchild(PasswordTextActor);
}
//逻辑入口
function Proc(Dt) {
MusicLogic();
SyncPos(X, Y);
base.Proc(Dt);
}
}