引导 基本完成

This commit is contained in:
2025-08-25 17:28:02 +08:00
parent 6a29821a7b
commit 6c95b3acc3
17 changed files with 1085 additions and 508 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -16,13 +16,19 @@
"_tracks": [ "_tracks": [
{ {
"__id__": 1 "__id__": 1
},
{
"__id__": 12
},
{
"__id__": 23
} }
], ],
"_exoticAnimation": null, "_exoticAnimation": null,
"_events": [], "_events": [],
"_embeddedPlayers": [], "_embeddedPlayers": [],
"_additiveSettings": { "_additiveSettings": {
"__id__": 12 "__id__": 35
}, },
"_auxiliaryCurveEntries": [] "_auxiliaryCurveEntries": []
}, },
@@ -62,7 +68,7 @@
}, },
{ {
"__type__": "cc.animation.HierarchyPath", "__type__": "cc.animation.HierarchyPath",
"path": "Node" "path": "Node/Tutorial_Hand"
}, },
{ {
"__type__": "cc.animation.Channel", "__type__": "cc.animation.Channel",
@@ -74,8 +80,8 @@
"__type__": "cc.RealCurve", "__type__": "cc.RealCurve",
"_times": [ "_times": [
0, 0,
0.3, 0.30000001192092896,
0.6 0.6000000238418579
], ],
"_values": [ "_values": [
{ {
@@ -102,7 +108,9 @@
"leftTangent": 0, "leftTangent": 0,
"leftTangentWeight": 1, "leftTangentWeight": 1,
"easingMethod": 0, "easingMethod": 0,
"__editorExtras__": null "__editorExtras__": {
"broken": null
}
}, },
{ {
"__type__": "cc.RealKeyframeValue", "__type__": "cc.RealKeyframeValue",
@@ -114,7 +122,9 @@
"leftTangent": 0, "leftTangent": 0,
"leftTangentWeight": 1, "leftTangentWeight": 1,
"easingMethod": 0, "easingMethod": 0,
"__editorExtras__": null "__editorExtras__": {
"broken": null
}
} }
], ],
"preExtrapolation": 1, "preExtrapolation": 1,
@@ -130,8 +140,8 @@
"__type__": "cc.RealCurve", "__type__": "cc.RealCurve",
"_times": [ "_times": [
0, 0,
0.3, 0.30000001192092896,
0.6 0.6000000238418579
], ],
"_values": [ "_values": [
{ {
@@ -158,7 +168,9 @@
"leftTangent": 0, "leftTangent": 0,
"leftTangentWeight": 1, "leftTangentWeight": 1,
"easingMethod": 0, "easingMethod": 0,
"__editorExtras__": null "__editorExtras__": {
"broken": null
}
}, },
{ {
"__type__": "cc.RealKeyframeValue", "__type__": "cc.RealKeyframeValue",
@@ -170,7 +182,9 @@
"leftTangent": 0, "leftTangent": 0,
"leftTangentWeight": 1, "leftTangentWeight": 1,
"easingMethod": 0, "easingMethod": 0,
"__editorExtras__": null "__editorExtras__": {
"broken": null
}
} }
], ],
"preExtrapolation": 1, "preExtrapolation": 1,
@@ -186,7 +200,7 @@
"__type__": "cc.RealCurve", "__type__": "cc.RealCurve",
"_times": [ "_times": [
0, 0,
0.3 0.30000001192092896
], ],
"_values": [ "_values": [
{ {
@@ -213,7 +227,9 @@
"leftTangent": 0, "leftTangent": 0,
"leftTangentWeight": 1, "leftTangentWeight": 1,
"easingMethod": 0, "easingMethod": 0,
"__editorExtras__": null "__editorExtras__": {
"broken": null
}
} }
], ],
"preExtrapolation": 1, "preExtrapolation": 1,
@@ -232,6 +248,500 @@
"preExtrapolation": 1, "preExtrapolation": 1,
"postExtrapolation": 1 "postExtrapolation": 1
}, },
{
"__type__": "cc.animation.VectorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 13
},
"proxy": null
},
"_channels": [
{
"__id__": 15
},
{
"__id__": 17
},
{
"__id__": 19
},
{
"__id__": 21
}
],
"_nComponents": 3
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 14
},
"scale"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "Node/Node"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 16
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0.30000001192092896,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 3,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 18
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0.30000001192092896,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 3,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 20
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 1,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 1,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 22
}
},
{
"__type__": "cc.RealCurve",
"_times": [],
"_values": [],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.ColorTrack",
"_binding": {
"__type__": "cc.animation.TrackBinding",
"path": {
"__id__": 24
},
"proxy": null
},
"_channels": [
{
"__id__": 27
},
{
"__id__": 29
},
{
"__id__": 31
},
{
"__id__": 33
}
]
},
{
"__type__": "cc.animation.TrackPath",
"_paths": [
{
"__id__": 25
},
{
"__id__": 26
},
"color"
]
},
{
"__type__": "cc.animation.HierarchyPath",
"path": "Node/Node"
},
{
"__type__": "cc.animation.ComponentPath",
"component": "cc.Sprite"
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 28
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.10000000149011612,
0.30000001192092896,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 253,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 30
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.10000000149011612,
0.30000001192092896,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 233,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 32
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.10000000149011612,
0.30000001192092896,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__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": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{
"__type__": "cc.animation.Channel",
"_curve": {
"__id__": 34
}
},
{
"__type__": "cc.RealCurve",
"_times": [
0,
0.10000000149011612,
0.30000001192092896,
0.6000000238418579
],
"_values": [
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": {
"tangentMode": 0
}
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 255,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
},
{
"__type__": "cc.RealKeyframeValue",
"interpolationMode": 0,
"tangentWeightMode": 0,
"value": 0,
"rightTangent": 0,
"rightTangentWeight": 1,
"leftTangent": 0,
"leftTangentWeight": 1,
"easingMethod": 0,
"__editorExtras__": null
}
],
"preExtrapolation": 1,
"postExtrapolation": 1
},
{ {
"__type__": "cc.AnimationClipAdditiveSettings", "__type__": "cc.AnimationClipAdditiveSettings",
"enabled": false, "enabled": false,

View File

@@ -25,11 +25,11 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 34 "__id__": 40
} }
], ],
"_prefab": { "_prefab": {
"__id__": 36 "__id__": 42
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -79,17 +79,17 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 27 "__id__": 33
}, },
{ {
"__id__": 29 "__id__": 35
}, },
{ {
"__id__": 31 "__id__": 37
} }
], ],
"_prefab": { "_prefab": {
"__id__": 33 "__id__": 39
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -133,7 +133,7 @@
"__id__": 4 "__id__": 4
} }
], ],
"_active": true, "_active": false,
"_components": [ "_components": [
{ {
"__id__": 10 "__id__": 10
@@ -435,16 +435,19 @@
"_children": [ "_children": [
{ {
"__id__": 18 "__id__": 18
},
{
"__id__": 24
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 24 "__id__": 30
} }
], ],
"_prefab": { "_prefab": {
"__id__": 26 "__id__": 32
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -477,7 +480,7 @@
}, },
{ {
"__type__": "cc.Node", "__type__": "cc.Node",
"_name": "Tutorial_Hand", "_name": "Node",
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"_parent": { "_parent": {
@@ -498,8 +501,8 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": -33.709,
"y": 0, "y": 37.795,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -537,6 +540,145 @@
"__prefab": { "__prefab": {
"__id__": 20 "__id__": 20
}, },
"_contentSize": {
"__type__": "cc.Size",
"width": 48,
"height": 48
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "230/0ISslFLa5eThDzg8zs"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 18
},
"_enabled": true,
"__prefab": {
"__id__": 22
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 252,
"g": 216,
"b": 32,
"a": 255
},
"_spriteFrame": {
"__uuid__": "49c583b3-d566-4c79-9e4c-bd0ca4a4b717@27a21",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_fillType": 0,
"_sizeMode": 1,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": {
"__uuid__": "49c583b3-d566-4c79-9e4c-bd0ca4a4b717",
"__expectedType__": "cc.SpriteAtlas"
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "b8RnhodWtNZ6pA5oBXEJjS"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "90t2JlWMZC2r8RltTsPk4I",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "Tutorial_Hand",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 17
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 25
},
{
"__id__": 27
}
],
"_prefab": {
"__id__": 29
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 1073741824,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 24
},
"_enabled": true,
"__prefab": {
"__id__": 26
},
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 82, "width": 82,
@@ -559,11 +701,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 18 "__id__": 24
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 22 "__id__": 28
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -621,7 +763,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 25 "__id__": 31
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -662,7 +804,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 28 "__id__": 34
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -690,7 +832,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 30 "__id__": 36
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -732,7 +874,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 32 "__id__": 38
}, },
"playOnLoad": true, "playOnLoad": true,
"_clips": [ "_clips": [
@@ -774,7 +916,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 35 "__id__": 41
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",

View File

@@ -28,20 +28,20 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 63 "__id__": 66
}, },
{ {
"__id__": 65 "__id__": 68
}, },
{ {
"__id__": 75 "__id__": 78
}, },
{ {
"__id__": 77 "__id__": 80
} }
], ],
"_prefab": { "_prefab": {
"__id__": 79 "__id__": 82
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@@ -333,6 +333,12 @@
}, },
{ {
"__id__": 61 "__id__": 61
},
{
"__id__": 63
},
{
"__id__": 65
} }
], ],
"removedComponents": [] "removedComponents": []
@@ -693,7 +699,7 @@
"b": 255, "b": 255,
"a": 255 "a": 255
}, },
"_string": "跳过引导", "_string": "关闭引导",
"_horizontalAlign": 1, "_horizontalAlign": 1,
"_verticalAlign": 1, "_verticalAlign": 1,
"_actualFontSize": 25, "_actualFontSize": 25,
@@ -926,7 +932,7 @@
"value": { "value": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 700, "y": 780,
"z": 0 "z": 0
} }
}, },
@@ -972,7 +978,7 @@
"value": { "value": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 720, "width": 720,
"height": 200 "height": 300
} }
}, },
{ {
@@ -989,7 +995,7 @@
"propertyPath": [ "propertyPath": [
"_alignFlags" "_alignFlags"
], ],
"value": 16 "value": 17
}, },
{ {
"__type__": "cc.TargetInfo", "__type__": "cc.TargetInfo",
@@ -1018,7 +1024,7 @@
"value": { "value": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 680, "width": 680,
"height": 200 "height": 300
} }
}, },
{ {
@@ -1038,7 +1044,7 @@
"value": { "value": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 360, "x": 360,
"y": 100, "y": 150,
"z": 0 "z": 0
} }
}, },
@@ -1059,7 +1065,7 @@
"value": { "value": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 680, "width": 680,
"height": 213 "height": 313
} }
}, },
{ {
@@ -1079,7 +1085,7 @@
"value": { "value": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 460, "x": 460,
"y": 100, "y": 150,
"z": 0 "z": 0
} }
}, },
@@ -1089,6 +1095,37 @@
"79YIQDtXNBi4+Fe9c3EQNE" "79YIQDtXNBi4+Fe9c3EQNE"
] ]
}, },
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 64
},
"propertyPath": [
"_lpos"
],
"value": {
"__type__": "cc.Vec3",
"x": -212.573,
"y": -101.674,
"z": 0
}
},
{
"__type__": "cc.TargetInfo",
"localID": [
"8f5EdzC05FhrFO3eJrVhes"
]
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 53
},
"propertyPath": [
"_top"
],
"value": 200
},
{ {
"__type__": "cc.UITransform", "__type__": "cc.UITransform",
"_name": "", "_name": "",
@@ -1099,7 +1136,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 64 "__id__": 67
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -1127,10 +1164,10 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 66 "__id__": 69
}, },
"tipLabel": { "tipLabel": {
"__id__": 67 "__id__": 70
}, },
"tipNode": { "tipNode": {
"__id__": 17 "__id__": 17
@@ -1153,11 +1190,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 68 "__id__": 71
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 74 "__id__": 77
}, },
"_customMaterial": null, "_customMaterial": null,
"_srcBlendFactor": 2, "_srcBlendFactor": 2,
@@ -1223,22 +1260,22 @@
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 69 "__id__": 72
}, },
{ {
"__id__": 67 "__id__": 70
}, },
{ {
"__id__": 71 "__id__": 74
} }
], ],
"_prefab": { "_prefab": {
"__id__": 73 "__id__": 76
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 460, "x": 460,
"y": 100, "y": 150,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@@ -1270,11 +1307,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 68 "__id__": 71
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 70 "__id__": 73
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@@ -1298,11 +1335,11 @@
"_objFlags": 0, "_objFlags": 0,
"__editorExtras__": {}, "__editorExtras__": {},
"node": { "node": {
"__id__": 68 "__id__": 71
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 72 "__id__": 75
}, },
"_alignFlags": 18, "_alignFlags": 18,
"_target": null, "_target": null,
@@ -1355,7 +1392,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 76 "__id__": 79
}, },
"_alignFlags": 45, "_alignFlags": 45,
"_target": null, "_target": null,
@@ -1391,7 +1428,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 78 "__id__": 81
}, },
"_id": "" "_id": ""
}, },
@@ -1411,7 +1448,7 @@
"instance": null, "instance": null,
"targetOverrides": [ "targetOverrides": [
{ {
"__id__": 80 "__id__": 83
} }
], ],
"nestedPrefabInstanceRoots": [ "nestedPrefabInstanceRoots": [
@@ -1426,7 +1463,7 @@
{ {
"__type__": "cc.TargetOverrideInfo", "__type__": "cc.TargetOverrideInfo",
"source": { "source": {
"__id__": 65 "__id__": 68
}, },
"sourceInfo": null, "sourceInfo": null,
"propertyPath": [ "propertyPath": [
@@ -1436,7 +1473,7 @@
"__id__": 17 "__id__": 17
}, },
"targetInfo": { "targetInfo": {
"__id__": 81 "__id__": 84
} }
}, },
{ {

View File

@@ -15,12 +15,18 @@ export enum GuideStepType {
WAIT = "wait", WAIT = "wait",
} }
export const finishCurrGuide=(key:number)=>{ export const finishCurrGuide=(key:number)=>{
if(smc.guides[key]==0){ if(key==0){
oops.message.dispatchEvent(GameEvent.GuideEnd,key) oops.message.dispatchEvent(GameEvent.GuideEnd,key)
}else{
if(smc.guides[key-1]===1&&smc.guides[key]===0){
oops.message.dispatchEvent(GameEvent.GuideEnd,key)
}
} }
} }
export const startGuide=(key:number)=>{ export const startGuide=(key:number)=>{
if(smc.guides[key-1]==1&&smc.guides[key]==0){ if(smc.guides[key-1]===1&&smc.guides[key]===0){
oops.message.dispatchEvent(GameEvent.GuideStart,key) oops.message.dispatchEvent(GameEvent.GuideStart,key)
} }
} }
@@ -33,6 +39,7 @@ export interface IGuideStep {
/** 目标节点路径(用于查找目标节点) */ /** 目标节点路径(用于查找目标节点) */
key: number; key: number;
targetPath?: string; targetPath?: string;
tipParent?: string;
/** 提示文本 */ /** 提示文本 */
tipText?: string; tipText?: string;
/** 提示文本偏移 */ /** 提示文本偏移 */
@@ -61,8 +68,9 @@ export const GuideConfig: { [key: number]: IGuideStep } = {
id: "welcome", type: GuideStepType.WAIT,key:0, id: "welcome", type: GuideStepType.WAIT,key:0,
targetPath: "root/gui/LayerUI/role_controller/mission_home/start/name", targetPath: "root/gui/LayerUI/role_controller/mission_home/start/name",
tipText: "欢迎来到游戏", tipText: "欢迎来到游戏",
handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 }, handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 600 },
nextStep: "start_battle", end_event: "click", noInput: true, nextStep: "start_battle", waitTime: 2, end_event: "click", noInput: true,
}, },
1: { 1: {
id: "start_battle", type: GuideStepType.CLICK,key:1, id: "start_battle", type: GuideStepType.CLICK,key:1,
@@ -74,30 +82,65 @@ export const GuideConfig: { [key: number]: IGuideStep } = {
2: { 2: {
id: "hero_page", type: GuideStepType.CLICK,key:2, id: "hero_page", type: GuideStepType.CLICK,key:2,
// 使用相对路径,从场景根节点开始查找 // 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/role_controller/mission_home/hero_page", targetPath: "root/gui/LayerUI/role_controller/mission_home/btns/heros",
tipText: "去招募更多英雄增强队伍吧", tipText: "去招募更多英雄增强队伍吧",
handOffset: { x: 42, y: -45 }, // 向上偏移50像素避免遮挡 handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 },
}, },
3: { 3: {
id: "hero_info", type: GuideStepType.CLICK,key:3, id: "to_hero_info", type: GuideStepType.CLICK,key:3,
// 使用相对路径,从场景根节点开始查找 // 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/role_controller/mission_home/hero_page", targetPath: "root/gui/LayerUI/role_controller/mission_home/heros_page",
tipText: "选择可以解锁的英雄吧", tipText: "选择可以解锁的英雄吧",
handOffset: { x: 42, y: -45 }, // 向上偏移50像素避免遮挡 handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 } // 向上偏移50像素避免遮挡
}, },
4: { 4: {
id: "re_battle", type: GuideStepType.CLICK,key:4, id: "do_hero_info", type: GuideStepType.CLICK,key:4,
// 使用相对路径,从场景根节点开始查找 // 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/hero_select/main/view/heros/hero2", targetPath: "root/gui/LayerUI/Hinfo/unLock",
tipText: "点击这里选择你的第一个英雄", tipText: "招募这个英雄",
handOffset: { x: 42, y: -45 }, // 向上偏移50像素避免遮挡 handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 }// 向上偏移50像素避免遮挡
}, },
5: { 5: {
id: "up_lv_hero", type: GuideStepType.CLICK,key:5, id: "up_lv_hero", type: GuideStepType.CLICK,key:5,
// 使用相对路径,从场景根节点开始查找 // 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/Hinfo/upBtn",
tipText: "升级强化这个英雄",
handOffset: { x: 42, y: -45 },tipOffset: { x: 0, y: 200 } // 向上偏移50像素避免遮挡
},
6: {
id: "close_hinfo", type: GuideStepType.CLICK,key:6,
// 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/Hinfo/back",
tipText: "返回",
handOffset: { x: 42, y: -45 },tipOffset: { x: 0, y: 200 } // 向上偏移50像素避免遮挡
},
7: {
id: "to_mission", type: GuideStepType.CLICK,key:7,
// 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/role_controller/mission_home/btns/fight",
tipText: "再次进入战斗",
handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 },
},
8: {
id: "to_add_hero", type: GuideStepType.CLICK,key:8,
// 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/role_controller/mission_home/readyheros/hero3",
tipText: "添加上阵英雄",
handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 },
},
9: {
id: "to_hero_select", type: GuideStepType.CLICK,key:9,
// 使用相对路径,从场景根节点开始查找
targetPath: "root/gui/LayerUI/hero_select/main/view/heros/hero2", targetPath: "root/gui/LayerUI/hero_select/main/view/heros/hero2",
tipText: "点击这里选择你的第一个英雄", tipText: "选择英雄",
handOffset: { x: 42, y: -45 }, // 向上偏移50像素避免遮挡 handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 },
},
10: {
id: "start_battle", type: GuideStepType.CLICK,key:10,
targetPath: "root/gui/LayerUI/role_controller/mission_home/start/name",
tipText: "享受你的游戏!",
handOffset: { x: 42, y: -45 }, tipOffset: { x: 0, y: 200 },
// 42 45是手指的偏移量 0 0是提示的偏移量
}, },
}; };

View File

@@ -39,10 +39,10 @@ export enum HType {
* 橙色:金钥匙*100 item:1009 num:100 * 橙色:金钥匙*100 item:1009 num:100
*/ */
export const unlockHeroCost={ export const unlockHeroCost={
[QualitySet.GREEN]:{i_uuid:Items[1006].uuid,num:100}, [QualitySet.GREEN]:{i_uuid:Items[1006].uuid,num:1},
[QualitySet.BLUE]:{i_uuid:Items[1006].uuid,num:200}, [QualitySet.BLUE]:{i_uuid:Items[1006].uuid,num:1},
[QualitySet.PURPLE]:{i_uuid:Items[1007].uuid,num:100}, [QualitySet.PURPLE]:{i_uuid:Items[1007].uuid,num:1},
[QualitySet.ORANGE]:{i_uuid:Items[1008].uuid,num:100}, [QualitySet.ORANGE]:{i_uuid:Items[1008].uuid,num:1},
} }
//fac:FacSet.HERO //fac:FacSet.HERO
export const getHeroList = (quality:number=0)=>{ export const getHeroList = (quality:number=0)=>{
@@ -128,7 +128,7 @@ export const HeroInfo = {
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6006], type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6006],
buff:[],info:"说明"}, buff:[],info:"说明"},
5010:{uuid:5010,name:"战争祭祀",path:"hk1", fac:FacSet.HERO, quality:QualitySet.BLUE,lv:1,kind:2, 5010:{uuid:5010,name:"战争祭祀",path:"hk1", fac:FacSet.HERO, quality:QualitySet.ORANGE,lv:1,kind:2,
type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6007], type:HType.mage,hp:100,ap:15,dis:400,cd:1.5,speed:100,skills:[6007],
buff:[],info:"说明"}, buff:[],info:"说明"},

View File

@@ -273,7 +273,6 @@ export class HeroViewComp extends CCComp {
} }
do_drop(){ do_drop(){
let drop_item=MonsterDropManager.calculateMonsterDrops(this.hero_uuid,smc.data.mission,1) let drop_item=MonsterDropManager.calculateMonsterDrops(this.hero_uuid,smc.data.mission,1)
startGuide(2)
this.scheduleOnce(()=>{ this.scheduleOnce(()=>{
if(smc.guides[2]==0&&smc.current_guide==2&&smc.guides[1]==1) { if(smc.guides[2]==0&&smc.current_guide==2&&smc.guides[1]==1) {
drop_item.push({item_uuid:Items[1008].uuid,count:20}) drop_item.push({item_uuid:Items[1008].uuid,count:20})

View File

@@ -83,19 +83,24 @@ export class GuideConComp extends CCComp {
/** 点击引导 */ /** 点击引导 */
private showClickGuide(step: IGuideStep) { private showClickGuide(step: IGuideStep) {
console.log("[Tutorial] 显示点击引导", step); console.log("[Tutorial] 显示点击引导", step);
if (!step.targetPath) { // if (!step.targetPath) {
console.error("[Tutorial] 点击引导缺少目标路径"); // console.error("[Tutorial] 点击引导缺少目标路径");
return; // return;
} // }
const targetNode = this.findTargetNode(step.targetPath); // const targetNode = this.findTargetNode(step.targetPath);
if (!targetNode) { // if (!targetNode) {
console.error(`[Tutorial] 找不到目标节点: ${step.targetPath}`); // console.error(`[Tutorial] 找不到目标节点: ${step.targetPath}`);
return; // return;
} // }
// let tipParent:Node|null=null;
console.log("[Tutorial] 开始点击引导UI", step.targetPath); // if(step.tipParent){
this.showGuideStepUI(step, targetNode); // tipParent = this.findTargetNode(step.tipParent);
// }else{
// tipParent=targetNode;
// }
// console.log("[Tutorial] 开始点击引导UI", step.targetPath);
this.showGuideStepUI(step);
} }
/** 显示拖拽引导 */ /** 显示拖拽引导 */
@@ -107,6 +112,9 @@ export class GuideConComp extends CCComp {
private showWaitGuide(step: IGuideStep) { private showWaitGuide(step: IGuideStep) {
console.log("[Tutorial] 显示等待引导:", step.id); console.log("[Tutorial] 显示等待引导:", step.id);
this.showGuideStepUI(step); this.showGuideStepUI(step);
this.scheduleOnce(() => {
this.onStepCompleted(step);
}, step.waitTime ?? 2);
// 触摸监听器现在由 GuideSetpComp 管理 // 触摸监听器现在由 GuideSetpComp 管理
} }
@@ -135,6 +143,7 @@ export class GuideConComp extends CCComp {
/** 完成指定引导 */ /** 完成指定引导 */
private completeGuide(key:any) { private completeGuide(key:any) {
smc.finishGuide(key); smc.finishGuide(key);
this.closeGuideStepUI()
console.log(`[GuideCon] 引导 ${key} 已完成,进度数组: ${JSON.stringify(smc.guides)}`); console.log(`[GuideCon] 引导 ${key} 已完成,进度数组: ${JSON.stringify(smc.guides)}`);
} }
@@ -155,7 +164,7 @@ export class GuideConComp extends CCComp {
/** 打开引导UI */ /** 打开引导UI */
private showGuideStepUI(step: IGuideStep, targetNode?: Node) { private showGuideStepUI(step: IGuideStep) {
console.log(`[GuideCon] 开始打开UI: ${step.id}, uiId: ${UIID.Guide}`); console.log(`[GuideCon] 开始打开UI: ${step.id}, uiId: ${UIID.Guide}`);
// 关闭之前的引导UI // 关闭之前的引导UI
@@ -164,17 +173,16 @@ export class GuideConComp extends CCComp {
console.log("[Tutorial] 关闭之前的引导UI", UIID.Guide); console.log("[Tutorial] 关闭之前的引导UI", UIID.Guide);
} }
this.doOpenGuideStepUI(step, targetNode); this.doOpenGuideStepUI(step);
} }
doOpenGuideStepUI(step: IGuideStep, targetNode?: Node) { doOpenGuideStepUI(step: IGuideStep) {
try { try {
console.log("[Tutorial] 打开新的引导UI", UIID.Guide); console.log("[Tutorial] 打开新的引导UI", UIID.Guide);
oops.gui.open(UIID.Guide, { oops.gui.open(UIID.Guide, {
step: step, step: step,
stepIndex: 0, stepIndex: 0,
totalSteps: 1, totalSteps: 1,
targetNode: targetNode,
callbacks: { callbacks: {
onStepComplete: this.onStepCompleted.bind(this), onStepComplete: this.onStepCompleted.bind(this),
onComplete: this.completeAllGuide.bind(this) onComplete: this.completeAllGuide.bind(this)
@@ -194,37 +202,7 @@ export class GuideConComp extends CCComp {
oops.gui.remove(UIID.Guide); oops.gui.remove(UIID.Guide);
} }
/** 查找目标节点 */
private findTargetNode(path: string): Node | null {
console.log(`[GuideCon] 开始查找目标节点: ${path}`);
const pathParts = path.split('/');
let currentNode: any = director.getScene();
for (const part of pathParts) {
if (!currentNode || !currentNode.getChildByName) {
console.error(`[GuideCon] 节点 ${part} 不存在或没有getChildByName方法`);
break;
}
const childNode = currentNode.getChildByName(part);
if (!childNode) {
console.error(`[GuideCon] 找不到子节点: ${part}`);
console.log(`[GuideCon] 当前节点 ${currentNode.name} 的子节点:`, currentNode.children.map(c => c.name));
break;
}
currentNode = childNode;
}
if (currentNode) {
console.log(`[GuideCon] 目标节点查找成功:`, currentNode.position, currentNode.getWorldPosition());
return currentNode as Node;
} else {
console.error(`[GuideCon] 目标节点查找失败: ${path}`);
return null;
}
}
/** 重置引导 */ /** 重置引导 */
resetGuide() { resetGuide() {

View File

@@ -1,4 +1,4 @@
import { _decorator, BlockInputEvents, Button, Label, Node, UITransform, Vec3 } from "cc"; import { _decorator, BlockInputEvents, Button, director, Label, Node, UITransform, Vec3 } from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { IGuideStep, GuideStepType } from "../common/config/Guide"; import { IGuideStep, GuideStepType } from "../common/config/Guide";
@@ -33,6 +33,8 @@ export class GuideSetpComp extends CCComp {
private totalSteps: number = 0; private totalSteps: number = 0;
/** 目标节点 */ /** 目标节点 */
private _targetNode: Node | null = null; private _targetNode: Node | null = null;
/** 提示父节点 */
private _tipParent: Node | null = null;
private _showTip: boolean = false; private _showTip: boolean = false;
private _showHand: boolean = false; private _showHand: boolean = false;
private _callback: any = null; private _callback: any = null;
@@ -104,7 +106,8 @@ export class GuideSetpComp extends CCComp {
} }
/** 处理步骤信息 */ /** 处理步骤信息 */
private handleStepInfo(data: any) { private handleStepInfo(data: any) {
const { step, stepIndex, totalSteps, targetNode,callbacks } = data; const { step, stepIndex, totalSteps,callbacks } = data;
const targetNode=this.findTargetNode(step.targetPath);
this._noInput.enabled=step.noInput??false; this._noInput.enabled=step.noInput??false;
this._callback=callbacks; this._callback=callbacks;
if(targetNode){ if(targetNode){
@@ -116,10 +119,15 @@ export class GuideSetpComp extends CCComp {
this._showTip=true; this._showTip=true;
this._showHand=false; this._showHand=false;
} }
if(step.tipParent){
this._tipParent=this.findTargetNode(step.tipParent);
}else{
this._tipParent=this._targetNode;
}
console.log("[GuideSetpComp] 处理步骤信息:", step); console.log("[GuideSetpComp] 处理步骤信息:", step);
// 显示步骤 // 显示步骤
this.showStep(step, stepIndex, totalSteps,targetNode); this.showStep(step, stepIndex, totalSteps,targetNode,this._tipParent);
// 如果有手指位置,直接设置 // 如果有手指位置,直接设置
// this.setHandPosition(this._targetNode); // this.setHandPosition(this._targetNode);
@@ -137,18 +145,22 @@ export class GuideSetpComp extends CCComp {
} }
/** 显示引导步骤 */ /** 显示引导步骤 */
showStep(step: IGuideStep, stepIndex: number, totalSteps: number,targetNode: Node) { showStep(step: IGuideStep, stepIndex: number, totalSteps: number,targetNode: Node,tipParent: Node) {
this.currentStep = step; this.currentStep = step;
this.currentStepIndex = stepIndex; this.currentStepIndex = stepIndex;
this.totalSteps = totalSteps; this.totalSteps = totalSteps;
// 将handNode和tipNode从当前父节点移除 // 将handNode和tipNode从当前父节点移除
this.handNode.parent=this._targetNode; this.handNode.parent=this._targetNode;
this.tipNode.parent=this._targetNode; // if(this._tipParent){
// this.tipNode.parent=this._tipParent;
// }else{
// this.tipNode.parent=this._targetNode;
// }
this.handNode.setPosition(this.currentStep?.handOffset?.x || 0, this.currentStep?.handOffset?.y || 0); this.handNode.setPosition(this.currentStep?.handOffset?.x || 0, this.currentStep?.handOffset?.y || 0);
this.tipNode.setPosition(this.currentStep?.tipOffset?.x || 0, this.currentStep?.tipOffset?.y || 0); // this.tipNode.setPosition(this.currentStep?.tipOffset?.x || 0, this.currentStep?.tipOffset?.y || 0);
// 设置setSiblingIndex最大 // 设置setSiblingIndex最大
this.handNode.setSiblingIndex(this._targetNode.children.length - 1); this.handNode.setSiblingIndex(this._targetNode.children.length - 1);
this.tipNode.setSiblingIndex(this._targetNode.children.length - 1); // this.tipNode.setSiblingIndex(this._targetNode.children.length - 1);
// 更新UI内容 // 更新UI内容
this.updateStepContent() this.updateStepContent()
// 显示组件 // 显示组件
@@ -185,7 +197,38 @@ export class GuideSetpComp extends CCComp {
} }
} }
/** 查找目标节点 */
private findTargetNode(path: string): Node | null {
console.log(`[GuideCon] 开始查找目标节点: ${path}`);
const pathParts = path.split('/');
let currentNode: any = director.getScene();
for (const part of pathParts) {
if (!currentNode || !currentNode.getChildByName) {
console.error(`[GuideCon] 节点 ${part} 不存在或没有getChildByName方法`);
break;
}
const childNode = currentNode.getChildByName(part);
if (!childNode) {
console.error(`[GuideCon] 找不到子节点: ${part}`);
console.log(`[GuideCon] 当前节点 ${currentNode.name} 的子节点:`, currentNode.children.map(c => c.name));
break;
}
currentNode = childNode;
console.log("[GuideCon] 当前节点:", currentNode)
}
if (currentNode) {
console.log(`[GuideCon] 目标节点查找成功:`, currentNode.position, currentNode.getWorldPosition());
return currentNode as Node;
} else {
console.error(`[GuideCon] 目标节点查找失败: ${path}`);
return null;
}
}
/** 跳过按钮点击事件 */ /** 跳过按钮点击事件 */
@@ -220,5 +263,6 @@ export class GuideSetpComp extends CCComp {
this.removeTouchListener(); this.removeTouchListener();
this.tipNode.destroy(); this.tipNode.destroy();
this.handNode.destroy(); this.handNode.destroy();
console.log("[GuideSetpComp] 监听onDestroy", this.node);
} }
} }

View File

@@ -8,6 +8,7 @@ import { HttpReturn } from 'db://oops-framework/libs/network/HttpRequest';
import { GameEvent } from '../common/config/GameEvent'; import { GameEvent } from '../common/config/GameEvent';
import { ecs } from 'db://oops-framework/libs/ecs/ECS'; import { ecs } from 'db://oops-framework/libs/ecs/ECS';
import { CCComp } from 'db://oops-framework/module/common/CCComp'; import { CCComp } from 'db://oops-framework/module/common/CCComp';
import { finishCurrGuide, startGuide } from '../common/config/Guide';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass('HCardUICom') @ccclass('HCardUICom')
@@ -75,6 +76,8 @@ export class HCardUICom extends CCComp {
oops.gui.open(UIID.HeroInfo,this.h_uuid) oops.gui.open(UIID.HeroInfo,this.h_uuid)
break break
case HeroConSet.SELECT: case HeroConSet.SELECT:
finishCurrGuide(9)
startGuide(10)
if(oops.gui.has(UIID.HeroSelect)) { if(oops.gui.has(UIID.HeroSelect)) {
this.check_in_slot() this.check_in_slot()
smc.setFightHero(this.slot,this.h_uuid,true) smc.setFightHero(this.slot,this.h_uuid,true)

View File

@@ -6,35 +6,19 @@ import { smc } from '../common/SingletonModuleComp';
import { GameEvent } from '../common/config/GameEvent'; import { GameEvent } from '../common/config/GameEvent';
import { NumberFormatter } from '../common/config/BoxSet'; import { NumberFormatter } from '../common/config/BoxSet';
import { Items } from '../common/config/Items'; import { Items } from '../common/config/Items';
import { finishCurrGuide, GuideConfig } from '../common/config/Guide'; import { finishCurrGuide, GuideConfig, startGuide } from '../common/config/Guide';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass('HInfoComp') @ccclass('HInfoComp')
export class HInfoComp extends Component { export class HInfoComp extends Component {
h_uuid:number=0 h_uuid:number=0
private guides:any=[0,1]
private guideends:any=[3,5]
start() { start() {
} }
onAdded(args: any) { onAdded(args: any) {
// console.log("[HInfoComp]:onAdded",args) console.log("[HInfoComp]:onAdded",this.node)
this.endGuide()
this.startNextGuide()
this.update_data(args) this.update_data(args)
} startGuide(5)
startNextGuide(){
this.guides.forEach(guide_key=>{
if(smc.guides[guide_key]==0){
console.log("[HInfoComp]:推送启动引导:key",guide_key)
oops.message.dispatchEvent(GameEvent.GuideStart, guide_key)
return
}
})
}
endGuide(){
finishCurrGuide(3)
} }
update(deltaTime: number) { update(deltaTime: number) {
@@ -74,6 +58,12 @@ export class HInfoComp extends Component {
need_node.getChildByName("gold").getChildByName("has").getComponent(Label).string=NumberFormatter.formatNumber(smc.data.gold) need_node.getChildByName("gold").getChildByName("has").getComponent(Label).string=NumberFormatter.formatNumber(smc.data.gold)
} }
show_lock(lv:number){ show_lock(lv:number){
if(lv==0){
console.log("[HInfoComp]:show_lock lv==0",this.node)
finishCurrGuide(3)
startGuide(4)
}
this.node.getChildByName("upBtn").active=lv > 0 this.node.getChildByName("upBtn").active=lv > 0
this.node.getChildByName("upNeed").active=lv > 0 this.node.getChildByName("upNeed").active=lv > 0
this.node.getChildByName("lock").active=lv == 0 this.node.getChildByName("lock").active=lv == 0
@@ -105,8 +95,9 @@ export class HInfoComp extends Component {
return return
} }
oops.gui.toast("英雄< "+HeroInfo[this.h_uuid].name+" >解锁成功") oops.gui.toast("英雄< "+HeroInfo[this.h_uuid].name+" >解锁成功")
finishCurrGuide(4)
startGuide(5)
this.update_data(this.h_uuid) this.update_data(this.h_uuid)
oops.message.dispatchEvent(GameEvent.GuideEnd,GuideConfig[3].key)
oops.message.dispatchEvent(GameEvent.HeroUnlock, {uuid:this.h_uuid}) oops.message.dispatchEvent(GameEvent.HeroUnlock, {uuid:this.h_uuid})
} }
uplevel(){ uplevel(){
@@ -127,6 +118,8 @@ export class HInfoComp extends Component {
return return
} }
this.update_data(this.h_uuid) this.update_data(this.h_uuid)
finishCurrGuide(5)
startGuide(6)
oops.gui.toast(`英雄< ${HeroInfo[this.h_uuid].name} >升级成功`) oops.gui.toast(`英雄< ${HeroInfo[this.h_uuid].name} >升级成功`)
oops.message.dispatchEvent(GameEvent.HeroLvUp, {uuid:this.h_uuid}) oops.message.dispatchEvent(GameEvent.HeroLvUp, {uuid:this.h_uuid})
} }
@@ -147,6 +140,8 @@ export class HInfoComp extends Component {
this.update_data(prevHero) this.update_data(prevHero)
} }
close(){ close(){
finishCurrGuide(6)
startGuide(7)
oops.gui.removeByNode(this.node) oops.gui.removeByNode(this.node)
} }
reset() { reset() {

View File

@@ -4,6 +4,7 @@ import { oops } from 'db://oops-framework/core/Oops';
import { HCardUICom } from './HCardUICom'; import { HCardUICom } from './HCardUICom';
import { HeroConSet } from '../common/config/BoxSet'; import { HeroConSet } from '../common/config/BoxSet';
import { getHeroList } from '../common/config/heroSet'; import { getHeroList } from '../common/config/heroSet';
import { finishCurrGuide, startGuide } from '../common/config/Guide';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass('HeroPageComp') @ccclass('HeroPageComp')
@@ -14,6 +15,11 @@ export class HeroPageComp extends Component {
update(deltaTime: number) { update(deltaTime: number) {
}
onEnable(){
this.update_heros()
startGuide(3)
} }
update_heros(){ update_heros(){
let heros=getHeroList() let heros=getHeroList()

View File

@@ -5,6 +5,7 @@ import { GameEvent } from '../common/config/GameEvent';
import { oops } from 'db://oops-framework/core/Oops'; import { oops } from 'db://oops-framework/core/Oops';
import { UIID } from '../common/config/GameUIConfig'; import { UIID } from '../common/config/GameUIConfig';
import { GameSet } from '../common/config/BoxSet'; import { GameSet } from '../common/config/BoxSet';
import { finishCurrGuide } from '../common/config/Guide';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass('HeroReadyCom') @ccclass('HeroReadyCom')
@@ -50,7 +51,10 @@ export class HeroReadyCom extends Component {
this.node.getChildByName("icon").active=false this.node.getChildByName("icon").active=false
} }
select_hero(){ select_hero(){
if(oops.gui.has(UIID.HeroSelect)) return if(oops.gui.has(UIID.HeroSelect)) return
if(smc.fight_heros[this.slot]==0) {
finishCurrGuide(8)
}
oops.gui.open(UIID.HeroSelect,{slot:this.slot}) oops.gui.open(UIID.HeroSelect,{slot:this.slot})
} }
reset() { reset() {

View File

@@ -3,6 +3,7 @@ import { oops } from 'db://oops-framework/core/Oops';
import { HCardUICom } from './HCardUICom'; import { HCardUICom } from './HCardUICom';
import { smc } from '../common/SingletonModuleComp'; import { smc } from '../common/SingletonModuleComp';
import { HeroConSet } from '../common/config/BoxSet'; import { HeroConSet } from '../common/config/BoxSet';
import { startGuide } from '../common/config/Guide';
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@ccclass('HeroSelectCom') @ccclass('HeroSelectCom')
@@ -14,6 +15,7 @@ export class HeroSelectCom extends Component {
onAdded(args: any) { onAdded(args: any) {
// console.log("[HeroSelectCom]:onAdded",args) // console.log("[HeroSelectCom]:onAdded",args)
this.slot=args.slot this.slot=args.slot
startGuide(9)
this.update_heros() this.update_heros()
} }
protected onDisable(): void { protected onDisable(): void {

View File

@@ -22,7 +22,6 @@ export class MissionHomeComp extends CCComp {
this.home_active() this.home_active()
} }
onEnable(){ onEnable(){
this.endGuide()
this.startNextGuide(); // 启动第一个引导 this.startNextGuide(); // 启动第一个引导
startGuide(1) startGuide(1)
startGuide(2) startGuide(2)
@@ -36,11 +35,10 @@ export class MissionHomeComp extends CCComp {
} }
} }
private endGuide(){
// finishCurrGuide(0)
}
start_mission() { start_mission() {
finishCurrGuide(1) finishCurrGuide(1)
finishCurrGuide(10)
oops.message.dispatchEvent(GameEvent.MissionStart, {}) oops.message.dispatchEvent(GameEvent.MissionStart, {})
this.node.active=false; this.node.active=false;
} }
@@ -86,13 +84,13 @@ export class MissionHomeComp extends CCComp {
btn_shop.getChildByName("act").active=true btn_shop.getChildByName("act").active=true
break break
case "heros": case "heros":
page_heros.active=true
finishCurrGuide(2) finishCurrGuide(2)
let page_heros_com=page_heros.getComponent(HeroPageComp)! page_heros.active=true
page_heros_com.update_heros()
btn_heros.getChildByName("act").active=true btn_heros.getChildByName("act").active=true
break break
case "fight": case "fight":
finishCurrGuide(7)
startGuide(8)
btn_fight.getChildByName("act").active=true btn_fight.getChildByName("act").active=true
break break
case "skill": case "skill":

View File

@@ -5,6 +5,7 @@ import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/O
import { smc } from "../common/SingletonModuleComp"; import { smc } from "../common/SingletonModuleComp";
import { GameEvent } from "../common/config/GameEvent"; import { GameEvent } from "../common/config/GameEvent";
import { ItemComp } from "./ItemComp"; import { ItemComp } from "./ItemComp";
import { startGuide } from "../common/config/Guide";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
@@ -64,6 +65,7 @@ export class VictoryComp extends CCComp {
} }
victory_end(){ victory_end(){
this.clear_data() this.clear_data()
// startGuide(2)
oops.message.dispatchEvent(GameEvent.MissionEnd) oops.message.dispatchEvent(GameEvent.MissionEnd)
oops.gui.removeByNode(this.node) oops.gui.removeByNode(this.node)
} }

View File

@@ -19,5 +19,5 @@
"services": [] "services": []
} }
], ],
"__version__": "3.0.7" "__version__": "3.0.9"
} }