diff --git a/sqr/User/UI/Window/4_Personalinfo/4_PersonalInfo.nut b/sqr/User/UI/Window/4_Personalinfo/4_PersonalInfo.nut index 89ef8bc..b613bbc 100644 --- a/sqr/User/UI/Window/4_Personalinfo/4_PersonalInfo.nut +++ b/sqr/User/UI/Window/4_Personalinfo/4_PersonalInfo.nut @@ -24,7 +24,7 @@ class _PersonalInfo extends Yosin_Window { function RegisterWidget() { // 标题按钮 - local titlesBtn = Yosin_RowMoreTitleBtn(10, 25, 252, ["角色", "装扮/宠物", "护石"], "sprite/interface/lenheartwindowcommon.img", 160); + local titlesBtn = Yosin_RowMoreTitleBtn(10, 25, 266, ["角色", "装扮/宠物", "护石"], "sprite/interface/lenheartwindowcommon.img", 160); AddUIChild(titlesBtn); titlesBtn.LBDownOnClick = function(btns, index) { diff --git a/sqr/User/UI/Window/4_Personalinfo/Personalinfo_RoleInfoPage.nut b/sqr/User/UI/Window/4_Personalinfo/Personalinfo_RoleInfoPage.nut index 9218897..2e7ef27 100644 --- a/sqr/User/UI/Window/4_Personalinfo/Personalinfo_RoleInfoPage.nut +++ b/sqr/User/UI/Window/4_Personalinfo/Personalinfo_RoleInfoPage.nut @@ -18,7 +18,7 @@ class roleInfoPage extends Yosin_CommonUi { constructor(gX, gY) { local w = 266; - local h = 355; + local h = 465; base.constructor( gX, gY, w, h); @@ -36,6 +36,15 @@ class roleInfoPage extends Yosin_CommonUi { Canvas.EndDraw(); // 添加画布 Addchild(Canvas); + + + // 名称变更记录按钮 + local nameChangeRecordBtn = Yosin_BaseButton(70, 7, 18, 17, "sprite/interface/newstyle/windows/inventory/inventory.img", 106); + nameChangeRecordBtn.DownSimulateOffset = false; + AddUIChild(nameChangeRecordBtn); + + // 底部四个按钮 + RegisterBottomButton(); } function DrawWidget() { @@ -44,37 +53,70 @@ class roleInfoPage extends Yosin_CommonUi { Canvas.DrawSpriteFrame(backGround, 0, 0); // 上半部分 装备展示 - local equipment = Personalinfo_CharactersEquipment(0, 0); + local equipment = Personalinfo_CharactersEquipment(); Canvas.DrawSprite(equipment); // 名称 等级 其他 RegisterNameAndOther(); // 属性 - // RegisterPropertyItems(); - - // 底部四个按钮 - RegisterBottomButton(); - + RegisterPropertyItems(); } // 名称 等级 其他 function RegisterNameAndOther() { - // 冒险家名望 - local adventurerFame = CL_SpriteFrameObject("sprite/interface2/profile/profile_icon.img", 53); - Canvas.DrawSpriteFrame(adventurerFame, 70, 185); + // 名称 + local nameY = 130; + local name = FontAssetManager.GenerateNormal("账号名称", true, { + color = sq_RGBA(161, 240, 163, 255) + }); + Canvas.DrawActor(name, Width / 2 - name.GetSize().w / 2, nameY); + // 等级 + local level = FontAssetManager.GenerateNormal("2级 角色名称", true, { + color = green + }); + Canvas.DrawActor(level, Width / 2 - level.GetSize().w / 2, nameY + 15); + + // 角色定位 + local jobType = CL_SpriteFrameObject("sprite/interface2/profile/profile.img", 74); + + // 职业 + local job = FontAssetManager.GenerateNormal("[剑魂]", true, { + color = brown + }); + + local jobSize = job.GetSize(); + local iconX = Width / 2 - (jobSize.w + 12) / 2; + Canvas.DrawSpriteFrame(jobType, iconX, nameY + 33); + Canvas.DrawActor(job, iconX + 12, nameY + 30); + + + + + // 冒险家名望Icon + local adventurerFameY = 187; + local adventurerFameX = 70; + local adventurerFame = CL_SpriteFrameObject("sprite/interface2/profile/profile_icon.img", 53); + local adventurerFameRight = adventurerFameX + adventurerFame.GetSize().w; + + Canvas.DrawSpriteFrame(adventurerFame, adventurerFameX, adventurerFameY); + + + // 冒险家名望 local adventurerFameText = FontAssetManager.GenerateNormal("冒险家名望", true, { color = brown }); - Canvas.DrawActor(adventurerFameText, adventurerFame.right() + 5, adventurerFame.Y); + local adventurerFameTextRight = adventurerFameRight + 5 + adventurerFameText.GetSize().w; + + Canvas.DrawActor(adventurerFameText, adventurerFameRight + 5, 185); // 冒险家名望数值 local adventurerFameNum = FontAssetManager.GenerateNormal("7", true, { color = green }); - Canvas.DrawActor(adventurerFameNum, adventurerFameText.right() + 5, adventurerFameText.Y); + Canvas.DrawActor(adventurerFameNum, adventurerFameTextRight + 5, 185); } @@ -82,60 +124,92 @@ class roleInfoPage extends Yosin_CommonUi { function RegisterPropertyItems() { // 属性 + local leftListX = 0; + local rightListX = 132; + local rowY = 213; + local rowH = 18; + // 生命 - local life = roleInfoPropertyItem.Draw( 0, "生命", "100"); - Canvas.DrawSprite(life, 0, 213); + local life = roleInfoPropertyItem( 0, "生命", "100"); + Canvas.DrawSprite(life, leftListX, rowY); // 魔法 - local magic = roleInfoPropertyItem.Draw( 1, "魔法", "100"); - Canvas.DrawSprite(magic, life.right() + 16, life.Y); + local magic = roleInfoPropertyItem( 1, "魔法", "100"); + Canvas.DrawSprite(magic, rightListX, rowY); + + rowY += rowH; + // 物理防御力 - local physicalDefense = roleInfoPropertyItem.Draw( "物理防御力", "100", false); - Canvas.DrawSprite(physicalDefense, life.X, life.bottom(), 8); + local physicalDefense = roleInfoPropertyItem(8, "物理防御力", "100", false); + Canvas.DrawSprite(physicalDefense, leftListX, rowY); + // 魔法防御力 - local magicDefense = roleInfoPropertyItem.Draw( 9, "魔法防御力", "100"); - Canvas.DrawSprite(magicDefense, physicalDefense.right() + 16, physicalDefense.Y); + local magicDefense = roleInfoPropertyItem( 9, "魔法防御力", "100"); + Canvas.DrawSprite(magicDefense, rightListX, rowY); + + rowY += rowH; // 力量 - local strength = roleInfoPropertyItem.Draw( 2, "力量", "100"); - Canvas.DrawSprite(strength, life.X, physicalDefense.bottom()); + local strength = roleInfoPropertyItem( 2, "力量", "100"); + Canvas.DrawSprite(strength, leftListX, rowY); // 智力 - local intelligence = roleInfoPropertyItem.Draw( 3, "智力", "100"); - Canvas.DrawSprite(intelligence, strength.right() + 16, strength.Y); + local intelligence = roleInfoPropertyItem( 3, "智力", "100"); + Canvas.DrawSprite(intelligence, rightListX, rowY); + + rowY += rowH; + // 体力 - local vitality = roleInfoPropertyItem.Draw( 4, "体力", "100"); - Canvas.DrawSprite(vitality, strength.X, strength.bottom()); + local vitality = roleInfoPropertyItem( 4, "体力", "100"); + Canvas.DrawSprite(vitality, leftListX, rowY); // 精神 - local spirit = roleInfoPropertyItem.Draw( 5, "精神", "100"); - Canvas.DrawSprite(spirit, vitality.right() + 16, vitality.Y); + local spirit = roleInfoPropertyItem( 5, "精神", "100"); + Canvas.DrawSprite(spirit, rightListX, rowY); + + rowY += rowH; + // 物理攻击力 - local physicalATK = roleInfoPropertyItem.Draw( 6, "物理攻击力", "100"); - Canvas.DrawSprite(physicalATK, life.X, spirit.bottom()); + local physicalATK = roleInfoPropertyItem( 6, "物理攻击力", "100"); + Canvas.DrawSprite(physicalATK, leftListX, rowY); // 魔法攻击力 - local magicATK = roleInfoPropertyItem.Draw( 7, "魔法攻击力", "100"); - Canvas.DrawSprite(magicATK, physicalATK.right() + 16, physicalATK.Y); + local magicATK = roleInfoPropertyItem( 7, "魔法攻击力", "100"); + Canvas.DrawSprite(magicATK, rightListX, rowY); + + rowY += rowH; + // 物理暴击 - local physicalCrit = roleInfoPropertyItem.Draw( 10, "物理暴击", "100"); - Canvas.DrawSprite(physicalCrit, life.X, magicATK.bottom()); + local physicalCrit = roleInfoPropertyItem( 10, "物理暴击", "100"); + Canvas.DrawSprite(physicalCrit, leftListX, rowY); // 魔法暴击 - local magicCrit = roleInfoPropertyItem.Draw( 11, "魔法暴击", "100"); - Canvas.DrawSprite(magicCrit, physicalCrit.right() + 16, physicalCrit.Y); + local magicCrit = roleInfoPropertyItem( 11, "魔法暴击", "100"); + Canvas.DrawSprite(magicCrit, rightListX, rowY); + + + rowY += rowH; + // 独立攻击 - local independentAttack = roleInfoPropertyItem.Draw( 12, "独立攻击", "100"); - Canvas.DrawSprite(independentAttack, life.X, magicCrit.bottom()); + local independentAttack = roleInfoPropertyItem( 12, "独立攻击", "100"); + Canvas.DrawSprite(independentAttack, leftListX, rowY); + + rowY += rowH; // 攻击速度 - local attackSpeed = roleInfoPropertyItem.Draw(13, "攻击速度", "100"); - Canvas.DrawSprite(attackSpeed, life.X, independentAttack.bottom()); + local attackSpeed = roleInfoPropertyItem(13, "攻击速度", "100"); + Canvas.DrawSprite(attackSpeed, leftListX, rowY); + // 释放速度 - local releaseSpeed = roleInfoPropertyItem.Draw( 14, "释放速度", "100"); - Canvas.DrawSprite(releaseSpeed, attackSpeed.right() + 16, attackSpeed.Y); + local releaseSpeed = roleInfoPropertyItem( 14, "释放速度", "100"); + Canvas.DrawSprite(releaseSpeed, rightListX, rowY); + + rowY += rowH; + // 移动速度 - local moveSpeed = roleInfoPropertyItem.Draw( 15, "移动速度", "100"); - Canvas.DrawSprite(moveSpeed, life.X, releaseSpeed.bottom()); + local moveSpeed = roleInfoPropertyItem( 15, "移动速度", "100"); + Canvas.DrawSprite(moveSpeed, leftListX, rowY); + + rowY += rowH; // 攻击属性 - local attackProperty = roleInfoPropertyItem.Draw( 16, "攻击属性", "火(0)/冰(0)/光(0)/暗(0)", true, 260); - Canvas.DrawSprite(attackProperty, life.X, moveSpeed.bottom()); + local attackProperty = roleInfoPropertyItem(16, "攻击属性", "火(0)/冰(0)/光(0)/暗(0)", true, 260); + Canvas.DrawSprite(attackProperty, leftListX, rowY); } @@ -195,43 +269,80 @@ class roleInfoPage extends Yosin_CommonUi { } // 属性项 -class roleInfoPropertyItem{ +class roleInfoPropertyItem extends CL_CanvasObject { // additionReaction 属性是否有加成 加成为绿色 不加成灰色 - function Draw(idx, title, numText, additionReaction = true, width = 120) { + constructor(idx, title, numText, additionReaction = true, width = 125) { + local w = width; + local h = 18; + base.constructor(); - // 创建画布 - local Canvas = CL_CanvasObject(); // 重设大小并清空 - Canvas.ResizeAndClear(width, 18); + ResizeAndClear(w, 18); // 开始绘制 - Canvas.BeginDraw(); + BeginDraw(); local titlecolor = additionReaction ? sq_RGBA(160, 132, 75, 255) : sq_RGBA(79, 79, 79, 255); local numColor = additionReaction ? sq_RGBA(75, 161, 85, 255) : sq_RGBA(79, 79, 79, 255); + local iconX = 5; local icon = CL_SpriteFrameObject("sprite/interface2/profile/profile_icon.img", idx); - Canvas.DrawSpriteFrame(icon, 5, 0); + local iconRight = iconX + icon.GetSize().w; + DrawSpriteFrame(icon, iconX, h/ 2 - icon.GetSize().h / 2); + // 属性名称 local property = FontAssetManager.GenerateNormal(title, true, { color = titlecolor }); - Canvas.DrawActor(property, icon.right() + 5, icon.Y); + DrawActor(property, iconRight + 5, 0); // 属性数值 local propertyNum = FontAssetManager.GenerateNormal(numText, true, { color = numColor }); - local numX = width - propertyNum.GetSize().w; - Canvas.DrawActor(property, numX, icon.Y); + local numX = w - propertyNum.GetSize().w; + DrawActor(propertyNum, numX, 0); // 结束绘制 - Canvas.EndDraw(); - - return Canvas; + EndDraw(); } + // additionReaction 属性是否有加成 加成为绿色 不加成灰色 + // function Draw(idx, title, numText, additionReaction = true, width = 120) { + + // // 创建画布 + // local Canvas = CL_CanvasObject(); + // // 重设大小并清空 + // Canvas.ResizeAndClear(width, 18); + // // 开始绘制 + // Canvas.BeginDraw(); + + // local titlecolor = additionReaction ? sq_RGBA(160, 132, 75, 255) : sq_RGBA(79, 79, 79, 255); + // local numColor = additionReaction ? sq_RGBA(75, 161, 85, 255) : sq_RGBA(79, 79, 79, 255); + + // local icon = CL_SpriteFrameObject("sprite/interface2/profile/profile_icon.img", idx); + // Canvas.DrawSpriteFrame(icon, 5, 0); + + // // 属性名称 + // local property = FontAssetManager.GenerateNormal(title, true, { + // color = titlecolor + // }); + // Canvas.DrawActor(property, icon.right() + 5, icon.Y); + + // // 属性数值 + // local propertyNum = FontAssetManager.GenerateNormal(numText, true, { + // color = numColor + // }); + // local numX = width - propertyNum.GetSize().w; + // Canvas.DrawActor(property, numX, icon.Y); + + // // 结束绘制 + // Canvas.EndDraw(); + + // return Canvas; + // } + } @@ -240,6 +351,11 @@ class otherButton extends Yosin_CommonUi { // 是否启用按钮 enabled = true; + + iconX = null; + iconY = null; + icon = null; + // pvp 是否是pvp 按钮 constructor(gX, gY, idx, title, pvp = false, enabled = true, ) { base.constructor(gX, gY, 65, 65); @@ -255,12 +371,29 @@ class otherButton extends Yosin_CommonUi { Addchild(property); local path = pvp? "sprite/interface2/profile/profile_pvp_icon.img" : "sprite/interface2/profile/profile.img"; - local icon = CL_SpriteObject(path, enabled ? idx : idx +1 ); - icon.SetPosition(32 - icon.GetSize().w / 2, 45/2 - icon.GetSize().h / 2 + 3 ); + icon = CL_SpriteObject(path, enabled ? idx : idx +1 ); + + iconX = 32 - icon.GetSize().w / 2; + iconY = 45 / 2 - icon.GetSize().h / 2 + 3; + icon.SetPosition( iconX , iconY ); Addchild(icon); } + function Proc(DT) { + // if (isLBDown){ + // SyncPos(X, cacheY + 1); + // }else{ + // SyncPos(X, cacheY); + // } + if (isLBDown){ + icon.SetPosition( iconX , iconY + 1 ); + }else{ + icon.SetPosition( iconX , iconY ); + } + } + + } @@ -268,79 +401,92 @@ class otherButton extends Yosin_CommonUi { // 上半部分 人物装备穿戴 -class Personalinfo_CharactersEquipment extends Yosin_CommonUi { +class Personalinfo_CharactersEquipment extends CL_CanvasObject { // 展示其他装备 showOtherEquipment = null; // 允许更换装备 allowChangeEquipment = null; - // 画布 - Canvas = null; + // // 画布 + // Canvas = null; - constructor(x, y) { + constructor() { local w = 248; local h = 179; - base.constructor(x, y, w, h); + base.constructor(); - showOtherEquipment = false; + showOtherEquipment = true; allowChangeEquipment = false; // 创建画布 - Canvas = CL_CanvasObject(); + CL_CanvasObject(); // 重设大小并清空 - Canvas.ResizeAndClear(w, h); + ResizeAndClear(w, h); // 设置填充画刷 用于绘制边框和线条 // Canvas.SetFillBrush(sq_RGBA(59, 56, 57, 250)); // 设置轮廓画刷 用于绘制边框和线条 // Canvas.SetStrokeBrush(sq_RGBA(59, 56, 57, 250)); // 开始绘制 - Canvas.BeginDraw(); + BeginDraw(); // 绘制背景 - DrawBackground(); + DrawBackground(w); // 结束绘制 - Canvas.EndDraw(); - // 添加画布 - Addchild(Canvas); + EndDraw(); } // 背景 - function DrawBackground() { + function DrawBackground(Width) { // 装备栏背景 local equipmentBackground = CL_SpriteFrameObject("sprite/interface/newstyle/windows/inventory/inventory.img", 21); - Canvas.DrawSpriteFrame(equipmentBackground, 5, 5); + DrawSpriteFrame(equipmentBackground, 5, 5); // 顶部光线 local topLight = CL_SpriteFrameObject("sprite/interface/newstyle/windows/inventory/inventory.img", 178); - Canvas.DrawSpriteFrame(topLight, Width / 2 - topLight.GetSize().w / 2, 0); + DrawSpriteFrame(topLight, Width / 2 - topLight.GetSize().w / 2, 0); + // DrawSpriteFrame(topLight, 0, 0); // todo 角色展示 // 结婚戒指槽位 local ringSlotBg = CL_SpriteFrameObject("sprite/interface/newstyle/windows/inventory/inventory_cn.img", 0); - Canvas.DrawSpriteFrame(ringSlotBg, Width / 2 - ringSlotBg.GetSize().w / 2, 5); + DrawSpriteFrame(ringSlotBg, Width / 2 - ringSlotBg.GetSize().w / 2, 5); // todo 根据是否装备 显示装备 if (showOtherEquipment) { // 辅助装备 local assist = CL_SpriteFrameObject("sprite/interface/newstyle/windows/inventory/inventory.img", 19); - Canvas.DrawSpriteFrame(assist, 179, 69); + DrawSpriteFrame(assist, 179, 69); // 耳环 local earrings = CL_SpriteFrameObject("sprite/interface/newstyle/windows/inventory/inventory.img", 122); - Canvas.DrawSpriteFrame(earrings, 179, 102); + DrawSpriteFrame(earrings, 179, 102); // 魔法石 local MagicStone = CL_SpriteFrameObject("sprite/interface/newstyle/windows/inventory/inventory.img", 20); - Canvas.DrawSpriteFrame(MagicStone, 211, 101); + DrawSpriteFrame(MagicStone, 211, 101); } } -} \ No newline at end of file +} + + + +// if (!getroottable().rawin("chongzaiflag")) { +// getroottable()["chongzaiflag"] <- true; +// } else { +// //遍历窗口队列 如果可见则调用Show +// for (local i = 0; i< _SYS_WINDOW_LIST_.len(); i++) { +// local Window = _SYS_WINDOW_LIST_[i]; +// Window.Visible = false; +// Window.RemoveSelf(); +// } +// TestStage(); +// } \ No newline at end of file