基本完成,进入 英雄 和装备设计阶段

This commit is contained in:
2025-06-30 16:14:54 +08:00
parent 326e9bb97c
commit db18064511
6 changed files with 1669 additions and 26 deletions

View File

@@ -37,13 +37,22 @@
},
{
"__id__": 78
},
{
"__id__": 89
},
{
"__id__": 100
},
{
"__id__": 111
}
],
"_exoticAnimation": null,
"_events": [],
"_embeddedPlayers": [],
"_additiveSettings": {
"__id__": 89
"__id__": 122
},
"_auxiliaryCurveEntries": []
},
@@ -1682,6 +1691,564 @@
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.VectorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 90
},
"proxy": null
},
"_channels": [
{
"__id__": 92
},
{
"__id__": 94
},
{
"__id__": 96
},
{
"__id__": 98
}
],
"_nComponents": 3
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 91
},
"position"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "hpup"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 93
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 95
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 20,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 70,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 97
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 99
}
},
{
"__type__": "cc.RealCurve",
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.VectorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 101
},
"proxy": null
},
"_channels": [
{
"__id__": 103
},
{
"__id__": 105
},
{
"__id__": 107
},
{
"__id__": 109
}
],
"_nComponents": 3
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 102
},
"position"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "apup"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 104
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 106
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 20,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 70,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 108
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 110
}
},
{
"__type__": "cc.RealCurve",
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.VectorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 112
},
"proxy": null
},
"_channels": [
{
"__id__": 114
},
{
"__id__": 116
},
{
"__id__": 118
},
{
"__id__": 120
}
],
"_nComponents": 3
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 113
},
"position"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "lvup"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 115
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 117
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 20,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 80,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 119
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.5555555555555556
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 121
}
},
{
"__type__": "cc.RealCurve",
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.AnimationClipAdditiveSettings",
"enabled": false,

File diff suppressed because it is too large Load Diff

View File

@@ -124,3 +124,13 @@ export const VmInfo = {
thorns:0,
lifesteal:0,
}
export const TooltipTypes = {
life:1,
health:2,
skill:3,
crit:4,
uskill:5,
lvup:6,
apup:7,
hpup:8,
}

View File

@@ -11,7 +11,7 @@ import { oops } from "db://oops-framework/core/Oops";
import { GameEvent } from "../common/config/GameEvent";
import { FightConComp } from "../map/FightConComp";
import { EquipSpecialAttr } from "../common/config/Equips";
import { FightSet } from "../common/config/Mission";
import { FightSet, TooltipTypes } from "../common/config/Mission";
import { getApIncrease, getHpIncrease, getUpExp, HeroPos } from "../common/config/heroSet";
import { FriendModelComp } from "./FriendModel";
import { MasterModelComp } from "./MasterModel";
@@ -231,6 +231,7 @@ export class HeroViewComp extends CCComp {
this.ap -= Math.floor(ap/100*this.ap);
}
this.BUFFCOMP.vmdata_update()
this.BUFFCOMP.tooltip(TooltipTypes.apup,ap.toFixed(0));
}
update_hp(e:GameEvent,data:any){
console.log("[HeroViewComp]:update_hp",data)
@@ -248,6 +249,7 @@ export class HeroViewComp extends CCComp {
this.hp_max += Math.floor(hp) ;
this.hp += Math.floor(hp*(100+this.buff_hp)/100) ;
this.BUFFCOMP.vmdata_update(true)
this.BUFFCOMP.tooltip(TooltipTypes.hpup,hp.toFixed(0));
}
@@ -267,7 +269,7 @@ export class HeroViewComp extends CCComp {
if(this.hp > this.hp_max){
this.hp = this.hp_max;
}
this.BUFFCOMP.tooltip(2,hp.toFixed(0));
this.BUFFCOMP.tooltip(TooltipTypes.health,hp.toFixed(0));
this.BUFFCOMP.vmdata_update(true)
}
@@ -366,7 +368,7 @@ export class HeroViewComp extends CCComp {
let n_deR=deR-DEBUFF_DOWN-buff_debuff_down
let r=RandomManager.instance.getRandomInt(0,100)
if(r > n_deR) {
this.BUFFCOMP.tooltip(5,"*抵抗*")
this.BUFFCOMP.tooltip(TooltipTypes.uskill,"*抵抗*")
return
}
@@ -501,7 +503,7 @@ export class HeroViewComp extends CCComp {
check_shield(){
if(this.shield>0){
this.shield -= 1
this.BUFFCOMP.tooltip(5,"*吸收*");
this.BUFFCOMP.tooltip(TooltipTypes.uskill,"*吸收*");
if (this.shield <= 0) {
if(this == null) return;
this.BUFFCOMP.show_shield(false);
@@ -515,7 +517,7 @@ export class HeroViewComp extends CCComp {
if(this.dod > 0){
let random = Math.random()*100
if(random < this.dod) {
this.BUFFCOMP.tooltip(6,"*闪避*");
this.BUFFCOMP.tooltip(TooltipTypes.uskill,"*闪避*");
return true
}
}
@@ -603,7 +605,7 @@ export class HeroViewComp extends CCComp {
case "max":
this.as.max()
this.BUFFCOMP.max_show(skill.fname)
this.BUFFCOMP.tooltip(3,skill.name,skill_id)
this.BUFFCOMP.tooltip(TooltipTypes.skill,skill.name,skill_id)
break
case "atk":
this.as.atk()
@@ -625,14 +627,13 @@ export class HeroViewComp extends CCComp {
}
to_update(){
console.log("[HeroViewComp]:升级",this.lv)
this.add_ap(getApIncrease(this.hero_uuid,this.lv,this.lv+1))
this.add_hp_max(getHpIncrease(this.hero_uuid,this.lv,this.lv+1))
this.lv+=1
this.next_exp=getUpExp(this.lv)
console.log("[HeroViewComp]:up ap,hp",getApIncrease(this.hero_uuid,this.lv,this.lv+1),getHpIncrease(this.hero_uuid,this.lv,this.lv+1))
this.BUFFCOMP.vmdata_update()
this.BUFFCOMP.lv_up()
this.BUFFCOMP.tooltip(TooltipTypes.lvup)
//@todo 需要添加 升级动画
}
/** 显示伤害数字 */
@@ -674,10 +675,10 @@ export class HeroViewComp extends CCComp {
this.BUFFCOMP.in_atked();
this.atked_count++;
if (isCrit) {
this.BUFFCOMP.tooltip(4, damage.toFixed(0), damage);
this.BUFFCOMP.tooltip(TooltipTypes.crit, damage.toFixed(0), damage);
// console.log("暴击伤害:" + damage);
} else {
this.BUFFCOMP.tooltip(1, damage.toFixed(0), damage);
this.BUFFCOMP.tooltip(TooltipTypes.life, damage.toFixed(0), damage);
// console.log("普通伤害:" + damage);
}
}

View File

@@ -5,6 +5,7 @@ import { BoxSet } from "../common/config/BoxSet";
import { smc } from "../common/SingletonModuleComp";
import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { SkillSet } from "../common/config/SkillSet";
import { TooltipTypes } from "../common/config/Mission";
const { ccclass, property } = _decorator;
@@ -23,9 +24,10 @@ export class TooltipCom extends CCComp {
alive_time:number = 0.3;
skill_name_time=0.5;
scale:number = 1;
start() {
switch(this.stype){
case 1:
case TooltipTypes.life:
this.node.setPosition(v3(this.node.position.x,this.node.position.y-50))
this.node.setSiblingIndex(100);
this.node.getChildByName("loss_life").getChildByName("hp").getComponent(Label).string = this.value;
@@ -34,7 +36,7 @@ export class TooltipCom extends CCComp {
this.ent.destroy()
},0.5)
break
case 2:
case TooltipTypes.health:
this.node.setSiblingIndex(110);
this.node.getChildByName("add_life").getChildByName("hp").getComponent(Label).string = this.value;
this.node.getChildByName("add_life").active=true;
@@ -42,7 +44,7 @@ export class TooltipCom extends CCComp {
this.ent.destroy()
},0.5)
break
case 4:
case TooltipTypes.crit:
this.node.setPosition(v3(this.node.position.x,this.node.position.y-50))
this.node.setSiblingIndex(200);
this.node.getChildByName("bloss").getChildByName("hp").getComponent(Label).string = this.value;
@@ -51,7 +53,7 @@ export class TooltipCom extends CCComp {
this.ent.destroy()
},0.5)
break
case 3:
case TooltipTypes.skill:
this.node.getChildByName("skill").getChildByName("name").getComponent(Label).string = "<"+SkillSet[this.s_uuid].name+">";
this.node.getChildByName("skill").active=true;
this.node.setPosition(v3(this.node.position.x,this.node.position.y+30))
@@ -59,7 +61,7 @@ export class TooltipCom extends CCComp {
this.ent.destroy()
},0.5)
break
case 5:
case TooltipTypes.uskill:
this.node.getChildByName("uskill").getChildByName("name").getComponent(Label).string = this.value;
this.node.getChildByName("uskill").active=true;
this.node.setPosition(v3(this.node.position.x,this.node.position.y+30))
@@ -67,6 +69,29 @@ export class TooltipCom extends CCComp {
this.ent.destroy()
},0.5)
break
case TooltipTypes.lvup:
// this.node.getChildByName("lvup").getChildByName("name").getComponent(Label).string = this.value;
this.node.getChildByName("lvup").active=true;
this.node.setPosition(v3(this.node.position.x,this.node.position.y-30))
this.scheduleOnce(()=>{
this.ent.destroy()
},0.5)
break
case TooltipTypes.apup:
this.node.getChildByName("apup").getChildByName("num").getComponent(Label).string = "+"+this.value;
this.node.getChildByName("apup").active=true;
this.node.setPosition(v3(this.node.position.x,this.node.position.y-30))
this.scheduleOnce(()=>{
this.ent.destroy()
},0.5)
break
case TooltipTypes.hpup:
this.node.getChildByName("hpup").getChildByName("num").getComponent(Label).string = "+"+this.value;
this.node.getChildByName("hpup").active=true;
this.node.setPosition(v3(this.node.position.x,this.node.position.y-30))
this.scheduleOnce(()=>{
this.ent.destroy()
},0.5)
}
// console.log("TooltipView start:",this.node.getSiblingIndex());

View File

@@ -26,7 +26,7 @@
- [x] 技能需要重新设计
- [ ] 伙伴特殊技能设定
- [x] debuff 设定 易伤 为次数和伤害累加
- [ ] 冰冻 眩晕 功能更新 还需要检验
- [x] 冰冻 眩晕 功能更新 还需要检验
- [x] 分按钮三选一, 装备, 功能卡,
- [ ] 副将和技能,特殊情况下 触发更换和获取
- [x] 修改 发现都是1金币,加白色0金币 绿色+1金币,蓝色+2金币
@@ -40,10 +40,10 @@
- [ ] 金币掉落 动画 从头顶掉到底部bar
- [x] 技能和伙伴都 需要主动点击 才会弹出,特定回合出现选项
- [x] 添加等级系统,主将和伙伴都可以升级,升级获得属性提升和 技能获取
- [ ] 添加升级动画
- [x] 添加升级动画
- [x] 卡牌技能 触发会中断问题
- [x] buff和debuff 增益功能 添加
- [x] 升级 和+ap +hp 动画
波数 升级 获取装备的等级