222 lines
4.5 KiB
Plaintext
222 lines
4.5 KiB
Plaintext
|
|
/*
|
||
|
|
文件名: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();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|