创建角色界面

This commit is contained in:
WONIU 2024-12-15 21:37:00 +08:00
parent c7dfe7c994
commit f33838a2e9
3 changed files with 225 additions and 0 deletions

View File

@ -66,6 +66,7 @@ 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/2_create_Character.nut
sqr/User/UI/Window/233_HUD_Message.nut
sqr/User/main.nut

View File

@ -0,0 +1,221 @@
/*
文件名:2_create_Character.nut
路径:User/UI/Window/2_create_Character.nut
创建日期:2024-12-15 17:40
文件用途: 创建角色
*/
class CreateCharacter extends Yosin_Window {
//调试模式
// DeBugMode = true;
//不是窗口
// NoWindow = true;
//是否可见
// Visible = false;
BackGroundMusic = null;
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
//注册绘制
RegisterDraw();
//注册控件
RegisterWidget();
//播放音乐
PlayBackgroundMusic();
}
function PlayBackgroundMusic() {
}
function MusicLogic() {
if (BackGroundMusic == null) return;
if (!BackGroundMusic.IsPlaying()) BackGroundMusic.Play();
}
function RegisterWidget() {
//账号输入框
local AccountInputBox = Yosin_InputBox(752, 240, 200);
AddUIChild(AccountInputBox);
}
function RegisterDraw() {
//大背景
local BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 14);
Addchild(BackGround);
}
//逻辑入口
function Proc(Dt) {
MusicLogic();
SyncPos(X, Y);
base.Proc(Dt);
}
}
//选择创建基础角色
class CreateCharacter_SelectBase extends Yosin_Window {
//调试模式
// DeBugMode = true;
//不是窗口
// NoWindow = true;
//是否可见
// Visible = false;
BackGroundMusic = null;
constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) {
base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH);
//注册绘制
RegisterDraw();
//注册控件
RegisterWidget();
}
function PlayBackgroundMusic() {
}
function RegisterWidget() {
//账号输入框
local headButton = HeadButton(0, 0, CHARACTERJOB.SWORDMAN);
AddUIChild(headButton);
}
function RegisterDraw() {
//大背景
local BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 0);
Addchild(BackGround);
}
//逻辑入口
function Proc(Dt) {
SyncPos(X, Y);
base.Proc(Dt);
}
}
//头像按钮
class HeadButton extends Yosin_CommonUi {
// 角色名称
name = "";
// 图像id
imageId = 0;
// 状态 0:普通 1:悬停 2:按下 3:不可用
state = 0;
spriteState = 0;
// 角色头像精灵
CharacterSprite = null;
// 角色头像覆盖精灵
CharacterSpriteCover = null;
constructor(X, Y, jobEnum, state = 0) {
this.name = name;
this.state = state;
// 计算图像id
this.imageId = jobEnum * 2 + 3;
base.constructor(X, Y, 62, 62);
// 角色头像
CharacterSprite = CL_SpriteObject();
CharacterSprite.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId));
CharacterSprite.SetPosition(0, 0);
Addchild(CharacterSprite);
CharacterSpriteCover = CL_SpriteObject();
CharacterSpriteCover.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", state));
CharacterSprite.SetPosition(0, 0);
Addchild(CharacterSpriteCover);
ChangeFrame();
}
function ChangeFrame() {
if (spriteState == state) return;
print(111);
//不可用
if (state == 3) {
CharacterSprite.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId + 1));
CharacterSpriteCover.SetVisible(false);
}else{
CharacterSprite.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId));
CharacterSpriteCover.SetVisible(true)
CharacterSpriteCover.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", state));
}
spriteState = state;
}
function Proc(Dt) {
//不可用
if (state == 3) {
return;
} else {
//按下
if (isLBDown) {
state = 2;
}
//悬停
else if (isInRect) {
if (state == 2) return;
state = 1;
}
//普通
else {
if (state == 2) return;
state = 0;
}
}
ChangeFrame();
}
}

View File

@ -172,5 +172,8 @@
},
"User/UI/Window/233_HUD_Message.nut": {
"description": "公告弹窗"
},
"User/UI/Window/2_Create_Character.nut": {
"description": "创建角色"
}
}