From 72684885d52d240ac662d4eec7a4c1356cfa7a42 Mon Sep 17 00:00:00 2001 From: WONIU Date: Wed, 18 Dec 2024 07:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sqr/Core/UI_Class/UI_Widget.nut | 16 +- sqr/User/Stage/TestStage.nut | 4 +- sqr/User/UI/Window/2_Create_Character.nut | 587 +++++++++++++++++++--- sqr/User/_ENUM/enum_game.nut | 2 +- 4 files changed, 523 insertions(+), 86 deletions(-) diff --git a/sqr/Core/UI_Class/UI_Widget.nut b/sqr/Core/UI_Class/UI_Widget.nut index 73ed082..bd64a77 100644 --- a/sqr/Core/UI_Class/UI_Widget.nut +++ b/sqr/Core/UI_Class/UI_Widget.nut @@ -165,17 +165,29 @@ class Yosin_EmeStretch extends Yosin_CommonUi { if (Direction) { local ScaleW = (W - SpriteList[0].GetSize().w - SpriteList[2].GetSize().w); local ScaleRate = ScaleW / SpriteList[1].GetSize().w; + local ScaleRateH = H / SpriteList[1].GetSize().h; + SpriteList[1].SetPosition(SpriteList[0].GetSize().w, 0); - SpriteList[1].SetScale(ScaleRate, 1.0); + SpriteList[1].SetScale(ScaleRate, ScaleRateH); SpriteList[2].SetPosition(SpriteList[0].GetSize().w + ScaleW, 0); + if (H != SpriteList[1].GetSize().h) { + SpriteList[0].SetScale(1, ScaleRateH); + SpriteList[2].SetScale(1, ScaleRateH); + } } //纵向 else { local ScaleH = (H - SpriteList[0].GetSize().h - SpriteList[2].GetSize().h); local ScaleRate = ScaleH / SpriteList[1].GetSize().h; + local ScaleRateW = H / SpriteList[1].GetSize().w; + SpriteList[1].SetPosition(0, SpriteList[0].GetSize().h); - SpriteList[1].SetScale(1.0, ScaleRate); + SpriteList[1].SetScale(ScaleRateW, ScaleRate); SpriteList[2].SetPosition(0, SpriteList[0].GetSize().h + ScaleH); + if (W != SpriteList[1].GetSize().w) { + SpriteList[0].SetScale(ScaleRateW, ScaleRateH); + SpriteList[2].SetScale(ScaleRateW, ScaleRateH); + } } foreach(Child in SpriteList) { diff --git a/sqr/User/Stage/TestStage.nut b/sqr/User/Stage/TestStage.nut index acdc9e6..e5a8874 100644 --- a/sqr/User/Stage/TestStage.nut +++ b/sqr/User/Stage/TestStage.nut @@ -10,8 +10,8 @@ function TestStage() { T.Enter(); - - local Window = Sq_CreateWindow(_Login_Window, "登录界面窗口", 0, 0, 1066, 600, 0); + // local Window = Sq_CreateWindow(_Login_Window, "登录界面窗口", 0, 0, 1066, 600, 0); + local Window = Sq_CreateWindow(_CreateCharacter, "创建角色", 0, 0, 1066, 600, 0); diff --git a/sqr/User/UI/Window/2_Create_Character.nut b/sqr/User/UI/Window/2_Create_Character.nut index 141c06d..0d8800e 100644 --- a/sqr/User/UI/Window/2_Create_Character.nut +++ b/sqr/User/UI/Window/2_Create_Character.nut @@ -5,66 +5,207 @@ 文件用途: 创建角色 */ -class CreateCharacter extends Yosin_Window { - //调试模式 - // DeBugMode = true; +// 底部光动画类型 +enum BottomLightAniType { + light + firedust + dust + aura +} - //不是窗口 - // 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 getJobInfo( job ) { + local T = {}; + switch (job) { + case CHARACTERJOB.SWORDMAN: // 男鬼剑士 d + T = { + index = 0, // 索引 + nameIndex = 0, // 名称索引 + ani = BottomLightAniType.dust, + name = "鬼剑士", + info = "借助凝聚在左手上鬼神之力压制敌人的鬼剑士。", // 介绍 + changJob = "剑魂 / 鬼泣 / 狂战士 / 阿修罗" // 转职 + }; + break; + case CHARACTERJOB.FIGHTER: // 女格斗家 d + T = { + index = 1, // 索引 + nameIndex = 1, // 名称索引 + ani = BottomLightAniType.dust, + name = "格斗家", + info = "注重身体各不为的锻炼,并熟练运用它们攻击敌人的武道家。", // 介绍 + changJob = "气功师 / 散打 / 街霸 / 柔道家" // 转职 + }; + break; + case CHARACTERJOB.GUNNER: // 男神枪手 d + T = { + index = 2, // 索引 + nameIndex = 2, // 名称索引 + ani = BottomLightAniType.dust, + name = "神枪手", + info = "生活在天界的神枪手,是善于利用枪械压制敌人的战士。", // 介绍 + changJob = "漫游枪手 / 枪炮师 / 机械师 / 弹药专家 / 合金战士" // 转职 + }; + break; + case CHARACTERJOB.MAGE: // 女魔法师 l + T = { + index = 3, // 索引 + nameIndex = 3, // 名称索引 + ani = BottomLightAniType.light, + name = "魔法师", + info = "善用魔法力量攻击敌人的魔族。", // 介绍 + changJob = "元素师 / 召唤师 / 战斗法师 / 魔道学者 / 小魔女" // 转职 + }; + break; + case CHARACTERJOB.PRIEST: // 男圣职者 l + T = { + index = 4, // 索引 + nameIndex = 4 // 名称索引 + ani = BottomLightAniType.light, + name = "光职者", + info = "心怀正义,为惩恶扬善甘愿接收严苛训练的勇士。", // 介绍 + changJob = "光明骑士 / 蓝拳使者 / 驱魔师 / 惩戒者" // 转职 + }; + break; + case CHARACTERJOB.AT_GUNNER: // 女神枪手 f + T = { + index = 5, // 索引 + nameIndex = 2, // 名称索引 + ani = BottomLightAniType.firedust, + name = "神枪手", + info = "生活在天界的神枪手,是善于利用枪械压制敌人的战士。", // 介绍 + changJob = "漫游枪手 / 枪炮师 / 机械师 / 弹药专家" // 转职 + }; + break; + case CHARACTERJOB.THIEF: // 暗夜使者 a + T = { + index = 6, // 索引 + nameIndex = 5, // 名称索引 + ani = BottomLightAniType.aura, + name = "暗夜使者", + info = "用敏捷身手执行特别人物的暗精灵成员。", // 介绍 + changJob = "暗星 / 黑夜术士 / 忍者 / 影武者" // 转职 + }; + break; + case CHARACTERJOB.AT_FIGHTER: // 男格斗家 f + T = { + index = 7, // 索引 + nameIndex = 1, // 名称索引 + ani = BottomLightAniType.firedust, + name = "格斗家", + info = "注重身体各不为的锻炼,并熟练运用它们攻击敌人的武道家。", // 介绍 + changJob = "气功师 / 散打 / 街霸 / 柔道家" // 转职 + }; + break; + case CHARACTERJOB.AT_MAGE: // 男魔法师 a + T = { + index = 8, // 索引 + nameIndex = 3, // 名称索引 + ani = BottomLightAniType.aura, + name = "魔法师", + info = "善用魔法力量攻击敌人的魔族。", // 介绍 + changJob = "元素爆破师 / 冰洁师 / 猩红法师 / 逐风者 / 次元行者" // 转职 + }; + break; + case CHARACTERJOB.DEMONIC_SWORDMAN: // 黑暗武士 a + T = { + index = 9, // 索引 + nameIndex = 10, // 名称索引 + ani = BottomLightAniType.aura, + name = " 黑暗武士", + info = "跨越时空之门,超越界限之力的剑士。", // 介绍 + changJob = "黑暗武士" // 转职 + }; + break; + case CHARACTERJOB.CREATOR_MAGE: // 缔造者 l + T = { + index = 10, // 索引 + nameIndex = 11, // 名称索引 + ani = BottomLightAniType.light, + name = " 缔造者", + info = "从异次元裂缝中获得强大力量的魔法师。", // 介绍 + changJob = "缔造者" // 转职 + }; + break; + case CHARACTERJOB.AT_SWORDMAN: // 女鬼剑士 d + T = { + index = 11, // 索引 + nameIndex = 0, // 名称索引 + ani = BottomLightAniType.dust, + name = "鬼剑士", + info = "同样拥有鬼手,却能实战不同的魔力。", // 介绍 + changJob = "驭剑士 / 暗殿骑士 / 契魔者 / 流浪武士 / 刃影" // 转职 + }; + break; + case CHARACTERJOB.KNIGHT: // 守护者 l + T = { + index = 12, // 索引 + nameIndex = 6, // 名称索引 + ani = BottomLightAniType.light, + name = "守护者", + info = "穿越各个次元,在战场上驰骋的少女。", // 介绍 + changJob = "精灵骑士 / 混沌魔灵 / 帕拉丁 / 龙骑士" // 转职 + }; + break; + case CHARACTERJOB.DEMONIC_LANCER: // 魔枪士 d + T = { + index = 13, // 索引 + nameIndex = 7, // 名称索引 + ani = BottomLightAniType.dust, + name = "魔枪士", + info = "使用蕴含魔力的长枪,专研枪术的战士。", // 介绍 + changJob = "征战者 / 决战者 / 狩猎者 / 暗枪士" // 转职 + }; + break; + case CHARACTERJOB.AT_PRIEST: // 女圣职者 l + T = { + index = 14, // 索引 + nameIndex = 4, // 名称索引 + ani = BottomLightAniType.light, + name = "光职者", + info = "心怀正义,为惩恶扬善甘愿接收严苛训练的勇士。", // 介绍 + changJob = "光明骑士 / 正义审判者 / 驱魔师 / 除恶者" // 转职 + }; + break; + case CHARACTERJOB.GUN_BLADER: // 枪剑士 d + T = { + index = 15, // 索引 + nameIndex = 8, // 名称索引 + ani = BottomLightAniType.dust, + name = "枪剑士", + info = "执着枪与剑的浪漫的天界人。", // 介绍 + changJob = "暗刃 / 特工 / 战线佣兵 / 源能专家" // 转职 + }; + break; + case CHARACTERJOB.ARCHER: // 弓箭手 l + T = { + index = 16, // 索引 + nameIndex = 9, // 名称索引 + ani = BottomLightAniType.light, + name = "弓箭手", + info = "为了守护家园,携弓箭走上冒险之旅的神界人。", // 介绍 + changJob = "缪斯 / 旅人 / 猎人 / 妖护使" // 转职 + }; + break; + default: + break; } - - 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); - } - + return T; } -//选择创建基础角色 -class CreateCharacter_SelectBase extends Yosin_Window { + + + + + +function getJobEnum(index) { + local jobList = [CHARACTERJOB.SWORDMAN, CHARACTERJOB.AT_SWORDMAN, CHARACTERJOB.AT_FIGHTER, CHARACTERJOB.FIGHTER, CHARACTERJOB.GUNNER, CHARACTERJOB.AT_GUNNER, CHARACTERJOB.AT_MAGE, CHARACTERJOB.MAGE, CHARACTERJOB.PRIEST, CHARACTERJOB.AT_PRIEST, CHARACTERJOB.THIEF, CHARACTERJOB.KNIGHT, CHARACTERJOB.DEMONIC_LANCER, CHARACTERJOB.GUN_BLADER, CHARACTERJOB.ARCHER, CHARACTERJOB.DEMONIC_SWORDMAN,CHARACTERJOB.CREATOR_MAGE ]; + return jobList[index]; +} + +//创建角色 +class _CreateCharacter extends Yosin_Window { //调试模式 // DeBugMode = true; @@ -74,7 +215,19 @@ class CreateCharacter_SelectBase extends Yosin_Window { //是否可见 // Visible = false; - BackGroundMusic = null; + BackGround = null; + jobImg = null; + nextJobImg = null; + + infoWidget = null; + + topLightObj = null; + lightAni = null; + dustAni = null; + firedustAni = null; + auraAni = null; + + changJobAniClock = null; constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { base.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); @@ -91,17 +244,122 @@ class CreateCharacter_SelectBase extends Yosin_Window { } function RegisterWidget() { - //账号输入框 - local headButton = HeadButton(0, 0, CHARACTERJOB.SWORDMAN); - AddUIChild(headButton); + //头像 + local headList = _CreateCharacter_SelectBaseHeadList(135, 40); + AddUIChild(headList); + headList.OnClick = changJob.bindenv(this); + + // 职业介绍 + infoWidget = _CreateCharacter_SelectBaseInfo(140, 400); + AddUIChild(infoWidget); + infoWidget.SetJob(getJobInfo(CHARACTERJOB.SWORDMAN)); + + // 创建职业 + infoWidget.OnClick = function () { + + }.bindenv(this); } + + // 切换职业 + function changJob(index) { + local jobEnum = getJobEnum(index); + // 切换背景 + BackGround.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/characterbackground.img", jobEnum)); + jobImg.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/basecharctertitle.img", jobEnum )); + if (index + 1 < 17){ + nextJobImg.SetFrame(CL_SpriteFrameObject("sprite/interface2/charactercreatever2/basecharctertitle.img", getJobEnum(index + 1))); + } + + local info = getJobInfo(jobEnum); + // 切换介绍 + infoWidget.SetJob(getJobInfo(jobEnum)); + // 切换底部光动画 + + lightAni.SetVisible(false); + firedustAni.SetVisible(false); + dustAni.SetVisible(false); + auraAni.SetVisible(false); + + switch (info.ani){ + case BottomLightAniType.light: + lightAni.SetVisible(true); + break; + case BottomLightAniType.firedust: + firedustAni.SetVisible(true); + case BottomLightAniType.dust: + dustAni.SetVisible(true); + break; + case BottomLightAniType.aura: + auraAni.SetVisible(true); + break; + } + + + // 开始切换动画 + changJobAniClock = clock(); + } + + + /// 切换职业动画 + function changJobAni() { + if (changJobAniClock == null) return; + + local ani_progress = sq_GetAccel(100, 0, clock() - changJobAniClock, 1000); + + + + if (ani_progress == 0){ + changJobAniClock = null; + } + } + + function RegisterDraw() { //大背景 - local BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 0); + BackGround = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbackground.img", 0); Addchild(BackGround); + + // 人物图片 + jobImg = CL_SpriteObject("sprite/interface2/charactercreatever2/basecharctertitle.img", 0); + jobImg.SetPosition(0, 0); + Addchild(jobImg); + + // 下一个人物图片 + nextJobImg = CL_SpriteObject("sprite/interface2/charactercreatever2/basecharctertitle.img", 11); + nextJobImg.SetPosition(500, 0); + Addchild(nextJobImg); + + // 光动画 ui/charactercreate/topdodge.ani + topLightObj = Animation("ui/charactercreate/topdodge.ani"); + topLightObj.SetPosition(0, 0); + Addchild(topLightObj); + + + // 底部光动画 + lightAni = Animation("ui/charactercreate/dust.ani"); + lightAni.SetPosition(0, 0); + // lightAni.SetVisible(false); + Addchild(lightAni); + + firedustAni = Animation("ui/charactercreate/firedust.ani"); + firedustAni.SetPosition(0, 0); + firedustAni.SetVisible(false); + Addchild(firedustAni); + + dustAni = Animation("ui/charactercreate/dust.ani"); + dustAni.SetPosition(0, 0); + dustAni.SetVisible(false); + Addchild(dustAni); + + auraAni = Animation("ui/charactercreate/aura.ani"); + auraAni.SetPosition(0, 0); + auraAni.SetVisible(false); + Addchild(auraAni); + + } //逻辑入口 @@ -109,6 +367,79 @@ class CreateCharacter_SelectBase extends Yosin_Window { SyncPos(X, Y); base.Proc(Dt); + + changJobAni(); + + } + + + + +} + + + +//选择创建基础介绍 +class _CreateCharacter_SelectBaseInfo extends Yosin_Window { + + //是否为独立窗口 + IsIndependent = false; + + icon = null; + name = null; + jobInfo = null; + jobChangeText = null; + + OnClick = null; + + constructor(gX, gY ) { + base.constructor("创建角色职业介绍信息", gX, gY, 278, 600, 0); + + // 职业图标 + icon = CL_SpriteObject("sprite/interface2/charactercreatever2/charactermark.img", 0); + icon.SetPosition(0, 0); + Addchild(icon); + + //职业名称 + name = CL_SpriteObject("sprite/interface2/charactercreatever2/charctertitle.img", 0); + name.SetPosition(55, 10); + Addchild(name); + + // 职业介绍 + jobInfo = FontAssetManager.GenerateNormal("职业介绍", false, { + color = sq_RGBA(194, 160, 53, 255) + }); + jobInfo.SetPosition(0, 52); + Addchild(jobInfo); + + local jobChangeTextY = 52 + jobInfo.GetSize().h + 5; + // 转职 + jobChangeText = FontAssetManager.GenerateNormal("■ 转职:转职名 / 转职名", true, { + color = sq_RGBA(194, 160, 53, 255) + }); + jobChangeText.SetPosition(0, jobChangeTextY); + Addchild(jobChangeText); + + //创建角色按钮 + local createButton = Yosin_EmeStretch(59, jobChangeTextY + 30, 160, 36, "sprite/interface/lenheartwindowcommon.img", 172); + //点击事件回调 + createButton.OnClick = function(Button) { + if (OnClick) OnClick(); + }.bindenv(this); + // 按钮文本 + local createText = CL_SpriteObject("sprite/interface2/charactercreatever2/charctertitle.img", 12); + createText.SetPosition(42.5, 8); + createButton.Addchild(createText); + AddUIChild(createButton); + + } + + function SetJob(jobInfoMap) { + icon.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/charactermark.img", jobInfoMap.index)); + name.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/charctertitle.img", jobInfoMap.nameIndex)); + jobInfo.SetText(jobInfoMap.info); + jobChangeText.SetText("■ 转职:" + jobInfoMap.changJob); + } } @@ -116,14 +447,73 @@ class CreateCharacter_SelectBase extends Yosin_Window { +//选择创建基础角色头像列表 +class _CreateCharacter_SelectBaseHeadList extends Yosin_Window { + //是否为独立窗口 + IsIndependent = false; + // 点击关闭 + clickOff = false; + OnClick = null; + buttonList = []; + + constructor(gX, gY) { + base.constructor("所有的职业头像", gX, gY, 278, 350, 0); + + local headX = 0; + local headY = 0; + + for (local i = 0; i < 17; i++) { + local jobEnum = getJobEnum(i); + local headButton = HeadButton(headX, headY, jobEnum, getJobInfo(jobEnum).name); + headButton.tag = i; + AddUIChild(headButton); + + buttonList.push(headButton); + headX = headX + 67; + if (i % 4 == 3) { + headX = 0; + headY = headY + 67; + } + } + + // 点击事件回调 + for (local i = 0; i < buttonList.len(); i++) { + + local headButton = buttonList[i]; + + headButton.OnClick = function (b) { + if (clickOff) return; + + for (local t = 0; t < buttonList.len(); t++) { + local button = buttonList[t]; + button.state = 0; + button.ChangeFrame(); + } + headButton.state = 2; + headButton.ChangeFrame(); + + if (OnClick) OnClick(headButton.tag); + + }.bindenv(this); + } + + local button = buttonList[0]; + button.state = 2; + button.ChangeFrame(); + + } + +} //头像按钮 class HeadButton extends Yosin_CommonUi { + DeBugMode = true; + // 角色名称 name = ""; @@ -134,13 +524,22 @@ class HeadButton extends Yosin_CommonUi { state = 0; spriteState = 0; - // 角色头像精灵 - CharacterSprite = null; + tag = 0; - // 角色头像覆盖精灵 - CharacterSpriteCover = null; + // 角色头像 + Character = null; + jobNameText = null; - constructor(X, Y, jobEnum, state = 0) { + // 角色头像覆盖 + CharacterCover = null; + + yellowBox = null; + + blueBox = null; + + + + constructor(X, Y, jobEnum, name, state = 0) { this.name = name; this.state = state; @@ -152,33 +551,59 @@ class HeadButton extends Yosin_CommonUi { 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); + Character = CL_SpriteObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId) + Character.SetPosition(0, 0); + Addchild(Character); - CharacterSpriteCover = CL_SpriteObject(); - CharacterSpriteCover.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", state)); - CharacterSprite.SetPosition(0, 0); - Addchild(CharacterSpriteCover); + // 转职 + jobNameText = FontAssetManager.GenerateNormal(name, true, { + color = sq_RGBA(194, 160, 53, 255) + }); + jobNameText.SetPosition( 31 - jobNameText.GetSize().w / 2 , 45); + Addchild(jobNameText); + + CharacterCover = CL_SpriteObject( "sprite/interface2/charactercreatever2/characterbtn.img", 0) + CharacterCover.SetPosition(0, 0); + Addchild(CharacterCover); + + yellowBox = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbtn.img", 2); + yellowBox.SetPosition(0, 0); + yellowBox.SetVisible(false); + Addchild(yellowBox); + + blueBox = CL_SpriteObject("sprite/interface2/charactercreatever2/characterbtn.img", 1); + blueBox.SetPosition(0, 0); + blueBox.SetVisible(false); + Addchild(blueBox); ChangeFrame(); } function ChangeFrame() { if (spriteState == state) return; - print(111); + spriteState = state; + //不可用 if (state == 3) { - CharacterSprite.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId + 1)); - CharacterSpriteCover.SetVisible(false); + Character.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId + 1)); + CharacterCover.SetVisible(false); + yellowBox.SetVisible(false); + blueBox.SetVisible(false); + } else if (state == 2) { + CharacterCover.SetVisible(false); + yellowBox.SetVisible(true); + blueBox.SetVisible(false); + } else if (state == 1) { + CharacterCover.SetVisible(false); + yellowBox.SetVisible(false); + blueBox.SetVisible(true); }else{ - CharacterSprite.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", imageId)); - CharacterSpriteCover.SetVisible(true) - CharacterSpriteCover.SetFrame(CL_SpriteFrameObject( "sprite/interface2/charactercreatever2/characterbtn.img", state)); + CharacterCover.SetVisible(true); + yellowBox.SetVisible(false); + blueBox.SetVisible(false); } - spriteState = state; + } function Proc(Dt) { @@ -188,7 +613,7 @@ class HeadButton extends Yosin_CommonUi { } else { //按下 if (isLBDown) { - state = 2; + // state = 2; } //悬停 else if (isInRect) { diff --git a/sqr/User/_ENUM/enum_game.nut b/sqr/User/_ENUM/enum_game.nut index 0ca3d43..4e6e80b 100644 --- a/sqr/User/_ENUM/enum_game.nut +++ b/sqr/User/_ENUM/enum_game.nut @@ -13,7 +13,7 @@ enum CHARACTERJOB { MAGE // 女魔法师 PRIEST // 男圣职者 AT_GUNNER // 女神枪手 - THIEF // 女暗夜使者 + THIEF // 暗夜使者 AT_FIGHTER // 男格斗家 AT_MAGE // 男魔法师 DEMONIC_SWORDMAN // 黑暗武士