feat: game environment logic
parent
136a898942
commit
a5995a7942
|
@ -1,224 +0,0 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.AnimationClip",
|
||||
"_name": "goal",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {
|
||||
"embeddedPlayerGroups": []
|
||||
},
|
||||
"_native": "",
|
||||
"sample": 60,
|
||||
"speed": 1,
|
||||
"wrapMode": 1,
|
||||
"enableTrsBlending": false,
|
||||
"_duration": 0.25,
|
||||
"_hash": 500763545,
|
||||
"_tracks": [
|
||||
{
|
||||
"__id__": 1
|
||||
}
|
||||
],
|
||||
"_exoticAnimation": null,
|
||||
"_events": [],
|
||||
"_embeddedPlayers": []
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.VectorTrack",
|
||||
"_binding": {
|
||||
"__type__": "cc.animation.TrackBinding",
|
||||
"path": {
|
||||
"__id__": 2
|
||||
},
|
||||
"proxy": null
|
||||
},
|
||||
"_channels": [
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 8
|
||||
},
|
||||
{
|
||||
"__id__": 10
|
||||
}
|
||||
],
|
||||
"_nComponents": 3
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.TrackPath",
|
||||
"_paths": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
"position"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.HierarchyPath",
|
||||
"path": "goal"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.03333333333333333,
|
||||
0.08333333333333333,
|
||||
0.15,
|
||||
0.2,
|
||||
0.25
|
||||
],
|
||||
"_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": -10,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": {
|
||||
"tangentMode": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -2,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": {
|
||||
"tangentMode": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 10,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": {
|
||||
"tangentMode": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": -3,
|
||||
"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__": 7
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__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__": 9
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.animation.Channel",
|
||||
"_curve": {
|
||||
"__id__": 11
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [],
|
||||
"_values": [],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
}
|
||||
]
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"ver": "2.0.3",
|
||||
"importer": "animation-clip",
|
||||
"imported": true,
|
||||
"uuid": "e0cda13a-c026-4d67-82c4-54acfe00f72d",
|
||||
"files": [
|
||||
".cconb"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"name": "goal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"__type__": "cc.Material",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"_effectAsset": {
|
||||
"__uuid__": "d1346436-ac96-4271-b863-1f4fdead95b0",
|
||||
"__expectedType__": "cc.EffectAsset"
|
||||
},
|
||||
"_techIdx": 0,
|
||||
"_defines": [
|
||||
{}
|
||||
],
|
||||
"_states": [
|
||||
{
|
||||
"rasterizerState": {},
|
||||
"depthStencilState": {},
|
||||
"blendState": {
|
||||
"targets": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"_props": [
|
||||
{
|
||||
"mainTexture": {
|
||||
"__uuid__": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"tintColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"ver": "1.0.20",
|
||||
"importer": "material",
|
||||
"imported": true,
|
||||
"uuid": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -24,23 +24,20 @@
|
|||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 61
|
||||
"__id__": 71
|
||||
},
|
||||
{
|
||||
"__id__": 63
|
||||
"__id__": 73
|
||||
},
|
||||
{
|
||||
"__id__": 65
|
||||
"__id__": 75
|
||||
},
|
||||
{
|
||||
"__id__": 67
|
||||
},
|
||||
{
|
||||
"__id__": 69
|
||||
"__id__": 77
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 71
|
||||
"__id__": 81
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
|
@ -73,20 +70,73 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Trail",
|
||||
"_name": "Graphics",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 3
|
||||
},
|
||||
{
|
||||
"__id__": 62
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 68
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 70
|
||||
},
|
||||
"_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": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Trail",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 3
|
||||
"__id__": 4
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 60
|
||||
"__id__": 61
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
|
@ -122,11 +172,11 @@
|
|||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 2
|
||||
"__id__": 3
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 4
|
||||
"__id__": 5
|
||||
},
|
||||
"_materials": [
|
||||
{
|
||||
|
@ -137,57 +187,57 @@
|
|||
],
|
||||
"_visFlags": 0,
|
||||
"startColor": {
|
||||
"__id__": 5
|
||||
"__id__": 6
|
||||
},
|
||||
"scaleSpace": 1,
|
||||
"startSize3D": false,
|
||||
"startSizeX": {
|
||||
"__id__": 6
|
||||
},
|
||||
"startSize": {
|
||||
"__id__": 6
|
||||
},
|
||||
"startSizeY": {
|
||||
"__id__": 7
|
||||
},
|
||||
"startSizeZ": {
|
||||
"startSize": {
|
||||
"__id__": 7
|
||||
},
|
||||
"startSizeY": {
|
||||
"__id__": 8
|
||||
},
|
||||
"startSpeed": {
|
||||
"startSizeZ": {
|
||||
"__id__": 9
|
||||
},
|
||||
"startSpeed": {
|
||||
"__id__": 10
|
||||
},
|
||||
"startRotation3D": false,
|
||||
"startRotationX": {
|
||||
"__id__": 10
|
||||
},
|
||||
"startRotationY": {
|
||||
"__id__": 11
|
||||
},
|
||||
"startRotationY": {
|
||||
"__id__": 12
|
||||
},
|
||||
"startRotationZ": {
|
||||
"__id__": 12
|
||||
},
|
||||
"startRotation": {
|
||||
"__id__": 12
|
||||
},
|
||||
"startDelay": {
|
||||
"__id__": 13
|
||||
},
|
||||
"startLifetime": {
|
||||
"startRotation": {
|
||||
"__id__": 13
|
||||
},
|
||||
"startDelay": {
|
||||
"__id__": 14
|
||||
},
|
||||
"startLifetime": {
|
||||
"__id__": 15
|
||||
},
|
||||
"duration": 1,
|
||||
"loop": true,
|
||||
"simulationSpeed": 1,
|
||||
"playOnAwake": true,
|
||||
"gravityModifier": {
|
||||
"__id__": 15
|
||||
},
|
||||
"rateOverTime": {
|
||||
"__id__": 16
|
||||
},
|
||||
"rateOverDistance": {
|
||||
"rateOverTime": {
|
||||
"__id__": 17
|
||||
},
|
||||
"rateOverDistance": {
|
||||
"__id__": 18
|
||||
},
|
||||
"bursts": [],
|
||||
"_renderCulling": false,
|
||||
"_cullingMode": 0,
|
||||
|
@ -197,37 +247,37 @@
|
|||
"_dataCulling": false,
|
||||
"enableCulling": false,
|
||||
"_colorOverLifetimeModule": {
|
||||
"__id__": 18
|
||||
"__id__": 19
|
||||
},
|
||||
"_shapeModule": {
|
||||
"__id__": 20
|
||||
"__id__": 21
|
||||
},
|
||||
"_sizeOvertimeModule": {
|
||||
"__id__": 22
|
||||
"__id__": 23
|
||||
},
|
||||
"_velocityOvertimeModule": {
|
||||
"__id__": 27
|
||||
"__id__": 28
|
||||
},
|
||||
"_forceOvertimeModule": {
|
||||
"__id__": 32
|
||||
"__id__": 33
|
||||
},
|
||||
"_limitVelocityOvertimeModule": {
|
||||
"__id__": 36
|
||||
"__id__": 37
|
||||
},
|
||||
"_rotationOvertimeModule": {
|
||||
"__id__": 41
|
||||
"__id__": 42
|
||||
},
|
||||
"_textureAnimationModule": {
|
||||
"__id__": 45
|
||||
"__id__": 46
|
||||
},
|
||||
"_noiseModule": {
|
||||
"__id__": 49
|
||||
},
|
||||
"_trailModule": {
|
||||
"__id__": 50
|
||||
},
|
||||
"_trailModule": {
|
||||
"__id__": 51
|
||||
},
|
||||
"renderer": {
|
||||
"__id__": 59
|
||||
"__id__": 60
|
||||
},
|
||||
"_prewarm": true,
|
||||
"_capacity": 1,
|
||||
|
@ -325,7 +375,7 @@
|
|||
"__type__": "cc.ColorOvertimeModule",
|
||||
"_enable": false,
|
||||
"color": {
|
||||
"__id__": 19
|
||||
"__id__": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -354,7 +404,7 @@
|
|||
"arcMode": 0,
|
||||
"arcSpread": 0,
|
||||
"arcSpeed": {
|
||||
"__id__": 21
|
||||
"__id__": 22
|
||||
},
|
||||
"length": 5,
|
||||
"boxThickness": {
|
||||
|
@ -395,16 +445,16 @@
|
|||
"_enable": false,
|
||||
"separateAxes": false,
|
||||
"size": {
|
||||
"__id__": 23
|
||||
},
|
||||
"x": {
|
||||
"__id__": 24
|
||||
},
|
||||
"y": {
|
||||
"x": {
|
||||
"__id__": 25
|
||||
},
|
||||
"z": {
|
||||
"y": {
|
||||
"__id__": 26
|
||||
},
|
||||
"z": {
|
||||
"__id__": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -435,17 +485,17 @@
|
|||
"__type__": "cc.VelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 28
|
||||
},
|
||||
"y": {
|
||||
"__id__": 29
|
||||
},
|
||||
"z": {
|
||||
"y": {
|
||||
"__id__": 30
|
||||
},
|
||||
"speedModifier": {
|
||||
"z": {
|
||||
"__id__": 31
|
||||
},
|
||||
"speedModifier": {
|
||||
"__id__": 32
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
|
@ -476,14 +526,14 @@
|
|||
"__type__": "cc.ForceOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 33
|
||||
},
|
||||
"y": {
|
||||
"__id__": 34
|
||||
},
|
||||
"z": {
|
||||
"y": {
|
||||
"__id__": 35
|
||||
},
|
||||
"z": {
|
||||
"__id__": 36
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
|
@ -508,17 +558,17 @@
|
|||
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"limitX": {
|
||||
"__id__": 37
|
||||
},
|
||||
"limitY": {
|
||||
"__id__": 38
|
||||
},
|
||||
"limitZ": {
|
||||
"limitY": {
|
||||
"__id__": 39
|
||||
},
|
||||
"limit": {
|
||||
"limitZ": {
|
||||
"__id__": 40
|
||||
},
|
||||
"limit": {
|
||||
"__id__": 41
|
||||
},
|
||||
"dampen": 3,
|
||||
"separateAxes": false,
|
||||
"space": 1
|
||||
|
@ -552,13 +602,13 @@
|
|||
"_enable": false,
|
||||
"_separateAxes": false,
|
||||
"x": {
|
||||
"__id__": 42
|
||||
},
|
||||
"y": {
|
||||
"__id__": 43
|
||||
},
|
||||
"z": {
|
||||
"y": {
|
||||
"__id__": 44
|
||||
},
|
||||
"z": {
|
||||
"__id__": 45
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -589,10 +639,10 @@
|
|||
"_mode": 0,
|
||||
"animation": 0,
|
||||
"frameOverTime": {
|
||||
"__id__": 46
|
||||
"__id__": 47
|
||||
},
|
||||
"startFrame": {
|
||||
"__id__": 48
|
||||
"__id__": 49
|
||||
},
|
||||
"cycleCount": 0,
|
||||
"_flipU": 0,
|
||||
|
@ -605,7 +655,7 @@
|
|||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 47
|
||||
"__id__": 48
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
|
@ -672,38 +722,38 @@
|
|||
"_enable": true,
|
||||
"mode": 0,
|
||||
"lifeTime": {
|
||||
"__id__": 51
|
||||
"__id__": 52
|
||||
},
|
||||
"_minParticleDistance": 0.01,
|
||||
"_minParticleDistance": 0.1,
|
||||
"existWithParticles": true,
|
||||
"textureMode": 0,
|
||||
"widthFromParticle": true,
|
||||
"widthRatio": {
|
||||
"__id__": 52
|
||||
"__id__": 53
|
||||
},
|
||||
"colorFromParticle": false,
|
||||
"colorOverTrail": {
|
||||
"__id__": 54
|
||||
"__id__": 55
|
||||
},
|
||||
"colorOvertime": {
|
||||
"__id__": 58
|
||||
"__id__": 56
|
||||
},
|
||||
"_space": 0,
|
||||
"_particleSystem": {
|
||||
"__id__": 3
|
||||
"__id__": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"constant": 0.2,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 53
|
||||
"__id__": 54
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
|
@ -711,30 +761,30 @@
|
|||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.11
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": -15.269841269841269,
|
||||
"rightTangent": -1,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": -15.269841269841269,
|
||||
"leftTangent": -1,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"interpolationMode": 0,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"rightTangent": -1,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": -1,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
|
@ -742,36 +792,6 @@
|
|||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 1,
|
||||
"gradient": {
|
||||
"__id__": 55
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Gradient",
|
||||
"colorKeys": [],
|
||||
"alphaKeys": [
|
||||
{
|
||||
"__id__": 56
|
||||
},
|
||||
{
|
||||
"__id__": 57
|
||||
}
|
||||
],
|
||||
"mode": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 255,
|
||||
"time": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 0,
|
||||
"time": 0.1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
|
@ -783,6 +803,36 @@
|
|||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 1,
|
||||
"gradient": {
|
||||
"__id__": 57
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Gradient",
|
||||
"colorKeys": [],
|
||||
"alphaKeys": [
|
||||
{
|
||||
"__id__": 58
|
||||
},
|
||||
{
|
||||
"__id__": 59
|
||||
}
|
||||
],
|
||||
"mode": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 255,
|
||||
"time": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 80,
|
||||
"time": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystemRenderer",
|
||||
"_renderMode": 0,
|
||||
|
@ -814,17 +864,65 @@
|
|||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Sprite",
|
||||
"_objFlags": 0,
|
||||
"_parent": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 63
|
||||
},
|
||||
{
|
||||
"__id__": 65
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 67
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 4.547473508864641e-13,
|
||||
"y": 9.094947017729282e-13,
|
||||
"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": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
"__id__": 62
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 62
|
||||
"__id__": 64
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
|
@ -840,19 +938,18 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "beBPBHPMpEJraWP8VptTuG"
|
||||
"fileId": "c6kr6bHvhF06OlISCzvjZo"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
"__id__": 62
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 64
|
||||
"__id__": 66
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
|
@ -885,7 +982,88 @@
|
|||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "bbNUf7fcREKbdMzeD2KyNQ"
|
||||
"fileId": "d8qmZch/1I9IIpjojV8QG7"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "abz3Mf5VxMEaQoSXBedPx/",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 2
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 69
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "7efGvJuVhDObli6TK4s4vI"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "44+elJpolOhbUe690US9Nt",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 72
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 200,
|
||||
"height": 200
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "beBPBHPMpEJraWP8VptTuG"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CircleCollider2D",
|
||||
|
@ -897,7 +1075,7 @@
|
|||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 66
|
||||
"__id__": 74
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 4,
|
||||
|
@ -927,7 +1105,7 @@
|
|||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 68
|
||||
"__id__": 76
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": true,
|
||||
|
@ -960,24 +1138,105 @@
|
|||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 70
|
||||
"__id__": 78
|
||||
},
|
||||
"_impactPrefab": {
|
||||
"__uuid__": "e4f226d3-8b68-42b8-8bf0-490b8d5765c4",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
"_maxSpeed": 100,
|
||||
"_rigidbody": {
|
||||
"__id__": 67
|
||||
"__id__": 75
|
||||
},
|
||||
"_sprite": {
|
||||
"__id__": 62
|
||||
},
|
||||
"_trail": {
|
||||
"__id__": 4
|
||||
},
|
||||
"_collider": {
|
||||
"__id__": 65
|
||||
"__id__": 73
|
||||
},
|
||||
"_hitSound": {
|
||||
"__uuid__": "6a432293-3852-4267-be19-c671f36fe9f0",
|
||||
"__expectedType__": "cc.AudioClip"
|
||||
},
|
||||
"_jumpCurve": {
|
||||
"__id__": 79
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "69msKyk8NLHqP+rm4QOaXF"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AnimationCurve",
|
||||
"_curve": {
|
||||
"__id__": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
0.2,
|
||||
0.4,
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 5.777777777777779,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 5.777777777777779,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0.37707337523039497,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0.37707337523039497,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": -0.5622495861888999,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": -0.5622495861888999,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": -1.877436291594456,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": -1.877436291594456,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 2,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
|
|
|
@ -0,0 +1,772 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Impact Particle",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Impact Particle",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 2
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 61
|
||||
},
|
||||
"_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": 50,
|
||||
"y": 50,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystem",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_materials": [
|
||||
{
|
||||
"__uuid__": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
||||
"__expectedType__": "cc.Material"
|
||||
}
|
||||
],
|
||||
"_visFlags": 0,
|
||||
"startColor": {
|
||||
"__id__": 4
|
||||
},
|
||||
"scaleSpace": 1,
|
||||
"startSize3D": false,
|
||||
"startSizeX": {
|
||||
"__id__": 5
|
||||
},
|
||||
"startSize": {
|
||||
"__id__": 5
|
||||
},
|
||||
"startSizeY": {
|
||||
"__id__": 6
|
||||
},
|
||||
"startSizeZ": {
|
||||
"__id__": 7
|
||||
},
|
||||
"startSpeed": {
|
||||
"__id__": 8
|
||||
},
|
||||
"startRotation3D": false,
|
||||
"startRotationX": {
|
||||
"__id__": 9
|
||||
},
|
||||
"startRotationY": {
|
||||
"__id__": 10
|
||||
},
|
||||
"startRotationZ": {
|
||||
"__id__": 11
|
||||
},
|
||||
"startRotation": {
|
||||
"__id__": 11
|
||||
},
|
||||
"startDelay": {
|
||||
"__id__": 12
|
||||
},
|
||||
"startLifetime": {
|
||||
"__id__": 13
|
||||
},
|
||||
"duration": 1,
|
||||
"loop": false,
|
||||
"simulationSpeed": 1,
|
||||
"playOnAwake": false,
|
||||
"gravityModifier": {
|
||||
"__id__": 14
|
||||
},
|
||||
"rateOverTime": {
|
||||
"__id__": 15
|
||||
},
|
||||
"rateOverDistance": {
|
||||
"__id__": 16
|
||||
},
|
||||
"bursts": [
|
||||
{
|
||||
"__id__": 17
|
||||
}
|
||||
],
|
||||
"_renderCulling": false,
|
||||
"_cullingMode": 0,
|
||||
"_aabbHalfX": 0,
|
||||
"_aabbHalfY": 0,
|
||||
"_aabbHalfZ": 0,
|
||||
"_dataCulling": false,
|
||||
"enableCulling": false,
|
||||
"_colorOverLifetimeModule": {
|
||||
"__id__": 19
|
||||
},
|
||||
"_shapeModule": {
|
||||
"__id__": 24
|
||||
},
|
||||
"_sizeOvertimeModule": {
|
||||
"__id__": 26
|
||||
},
|
||||
"_velocityOvertimeModule": {
|
||||
"__id__": 32
|
||||
},
|
||||
"_forceOvertimeModule": {
|
||||
"__id__": 37
|
||||
},
|
||||
"_limitVelocityOvertimeModule": {
|
||||
"__id__": 41
|
||||
},
|
||||
"_rotationOvertimeModule": {
|
||||
"__id__": 46
|
||||
},
|
||||
"_textureAnimationModule": {
|
||||
"__id__": 50
|
||||
},
|
||||
"_noiseModule": {
|
||||
"__id__": 54
|
||||
},
|
||||
"_trailModule": {
|
||||
"__id__": 55
|
||||
},
|
||||
"renderer": {
|
||||
"__id__": 60
|
||||
},
|
||||
"_prewarm": false,
|
||||
"_capacity": 100,
|
||||
"_simulationSpace": 1,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "e5RR/Euk5E1aiVQtB8bWtU"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1.5,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 5,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0.2,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Burst",
|
||||
"_time": 0,
|
||||
"_repeatCount": 1,
|
||||
"repeatInterval": 0.01,
|
||||
"count": {
|
||||
"__id__": 18
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ColorOvertimeModule",
|
||||
"_enable": false,
|
||||
"color": {
|
||||
"__id__": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 1,
|
||||
"gradient": {
|
||||
"__id__": 21
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Gradient",
|
||||
"colorKeys": [],
|
||||
"alphaKeys": [
|
||||
{
|
||||
"__id__": 22
|
||||
},
|
||||
{
|
||||
"__id__": 23
|
||||
}
|
||||
],
|
||||
"mode": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 255,
|
||||
"time": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.AlphaKey",
|
||||
"alpha": 100,
|
||||
"time": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ShapeModule",
|
||||
"_enable": false,
|
||||
"_shapeType": 2,
|
||||
"shapeType": 2,
|
||||
"emitFrom": 0,
|
||||
"alignToDirection": false,
|
||||
"randomDirectionAmount": 0,
|
||||
"sphericalDirectionAmount": 0,
|
||||
"randomPositionAmount": 0,
|
||||
"radius": 1,
|
||||
"radiusThickness": 1,
|
||||
"arcMode": 0,
|
||||
"arcSpread": 0,
|
||||
"arcSpeed": {
|
||||
"__id__": 25
|
||||
},
|
||||
"length": 5,
|
||||
"boxThickness": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_position": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_rotation": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_scale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_arc": 6.283185307179586,
|
||||
"_angle": 0.4363323129985824
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.SizeOvertimeModule",
|
||||
"_enable": true,
|
||||
"separateAxes": false,
|
||||
"size": {
|
||||
"__id__": 27
|
||||
},
|
||||
"x": {
|
||||
"__id__": 29
|
||||
},
|
||||
"y": {
|
||||
"__id__": 30
|
||||
},
|
||||
"z": {
|
||||
"__id__": 31
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 28
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 0,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 1,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 1,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.VelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 33
|
||||
},
|
||||
"y": {
|
||||
"__id__": 34
|
||||
},
|
||||
"z": {
|
||||
"__id__": 35
|
||||
},
|
||||
"speedModifier": {
|
||||
"__id__": 36
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ForceOvertimeModule",
|
||||
"_enable": false,
|
||||
"x": {
|
||||
"__id__": 38
|
||||
},
|
||||
"y": {
|
||||
"__id__": 39
|
||||
},
|
||||
"z": {
|
||||
"__id__": 40
|
||||
},
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.LimitVelocityOvertimeModule",
|
||||
"_enable": false,
|
||||
"limitX": {
|
||||
"__id__": 42
|
||||
},
|
||||
"limitY": {
|
||||
"__id__": 43
|
||||
},
|
||||
"limitZ": {
|
||||
"__id__": 44
|
||||
},
|
||||
"limit": {
|
||||
"__id__": 45
|
||||
},
|
||||
"dampen": 3,
|
||||
"separateAxes": false,
|
||||
"space": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RotationOvertimeModule",
|
||||
"_enable": false,
|
||||
"_separateAxes": false,
|
||||
"x": {
|
||||
"__id__": 47
|
||||
},
|
||||
"y": {
|
||||
"__id__": 48
|
||||
},
|
||||
"z": {
|
||||
"__id__": 49
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TextureAnimationModule",
|
||||
"_enable": false,
|
||||
"_numTilesX": 0,
|
||||
"numTilesX": 0,
|
||||
"_numTilesY": 0,
|
||||
"numTilesY": 0,
|
||||
"_mode": 0,
|
||||
"animation": 0,
|
||||
"frameOverTime": {
|
||||
"__id__": 51
|
||||
},
|
||||
"startFrame": {
|
||||
"__id__": 53
|
||||
},
|
||||
"cycleCount": 0,
|
||||
"_flipU": 0,
|
||||
"_flipV": 0,
|
||||
"_uvChannelMask": -1,
|
||||
"randomRow": false,
|
||||
"rowIndex": 0
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 1,
|
||||
"spline": {
|
||||
"__id__": 52
|
||||
},
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealCurve",
|
||||
"_times": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"_values": [
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RealKeyframeValue",
|
||||
"interpolationMode": 2,
|
||||
"tangentWeightMode": 0,
|
||||
"value": 1,
|
||||
"rightTangent": 0,
|
||||
"rightTangentWeight": 0,
|
||||
"leftTangent": 0,
|
||||
"leftTangentWeight": 0,
|
||||
"easingMethod": 0,
|
||||
"__editorExtras__": null
|
||||
}
|
||||
],
|
||||
"preExtrapolation": 1,
|
||||
"postExtrapolation": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.NoiseModule",
|
||||
"_enable": false,
|
||||
"_strengthX": 10,
|
||||
"_strengthY": 10,
|
||||
"_strengthZ": 10,
|
||||
"_noiseSpeedX": 0,
|
||||
"_noiseSpeedY": 0,
|
||||
"_noiseSpeedZ": 0,
|
||||
"_noiseFrequency": 1,
|
||||
"_remapX": 0,
|
||||
"_remapY": 0,
|
||||
"_remapZ": 0,
|
||||
"_octaves": 1,
|
||||
"_octaveMultiplier": 0.5,
|
||||
"_octaveScale": 2
|
||||
},
|
||||
{
|
||||
"__type__": "cc.TrailModule",
|
||||
"_enable": false,
|
||||
"mode": 0,
|
||||
"lifeTime": {
|
||||
"__id__": 56
|
||||
},
|
||||
"_minParticleDistance": 0.1,
|
||||
"existWithParticles": true,
|
||||
"textureMode": 0,
|
||||
"widthFromParticle": true,
|
||||
"widthRatio": {
|
||||
"__id__": 57
|
||||
},
|
||||
"colorFromParticle": false,
|
||||
"colorOverTrail": {
|
||||
"__id__": 58
|
||||
},
|
||||
"colorOvertime": {
|
||||
"__id__": 59
|
||||
},
|
||||
"_space": 0,
|
||||
"_particleSystem": {
|
||||
"__id__": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 1,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CurveRange",
|
||||
"mode": 0,
|
||||
"constant": 0,
|
||||
"multiplier": 1
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.GradientRange",
|
||||
"_mode": 0,
|
||||
"color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
}
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ParticleSystemRenderer",
|
||||
"_renderMode": 0,
|
||||
"_velocityScale": 1,
|
||||
"_lengthScale": 1,
|
||||
"_mesh": null,
|
||||
"_cpuMaterial": {
|
||||
"__uuid__": "9aa5d037-ec4c-4f5a-9513-4a423d576110",
|
||||
"__expectedType__": "cc.Material"
|
||||
},
|
||||
"_gpuMaterial": null,
|
||||
"_mainTexture": {
|
||||
"__uuid__": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@6c48a",
|
||||
"__expectedType__": "cc.Texture2D"
|
||||
},
|
||||
"_useGPU": false,
|
||||
"_alignSpace": 2
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "02Cq1VgJZE6L0Djr0XraDM",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "e4f226d3-8b68-42b8-8bf0-490b8d5765c4",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Impact Particle"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,243 @@
|
|||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "box",
|
||||
"_objFlags": 0,
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "box",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": null,
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 2
|
||||
},
|
||||
{
|
||||
"__id__": 4
|
||||
},
|
||||
{
|
||||
"__id__": 6
|
||||
},
|
||||
{
|
||||
"__id__": 8
|
||||
},
|
||||
{
|
||||
"__id__": 10
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 12
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": -521.891,
|
||||
"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": 33554432,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 20,
|
||||
"height": 50
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "dd1k5yz/9Jw7Y3h/ln7e+D"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 5
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 0,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "33Vv42hplKv6Fr1cHzlkpg"
|
||||
},
|
||||
{
|
||||
"__type__": "ab3adcigCNMO4YLHg1OcMdG",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"_collider": {
|
||||
"__id__": 8
|
||||
},
|
||||
"_sprite": {
|
||||
"__id__": 4
|
||||
},
|
||||
"_score": 10,
|
||||
"_flySpeed": 500,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "fc99DKgwZBHalLOt5fRIss"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.BoxCollider2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 9
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 16,
|
||||
"_density": 1,
|
||||
"_sensor": true,
|
||||
"_friction": 0.2,
|
||||
"_restitution": 0,
|
||||
"_offset": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_size": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 20,
|
||||
"height": 50
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "e3xI5cN0VBUb2QzjmBNBDQ"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RigidBody2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 11
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
"awakeOnLoad": true,
|
||||
"_group": 16,
|
||||
"_type": 1,
|
||||
"_allowSleep": true,
|
||||
"_gravityScale": 1,
|
||||
"_linearDamping": 0,
|
||||
"_angularDamping": 0,
|
||||
"_linearVelocity": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_angularVelocity": 0,
|
||||
"_fixedRotation": false,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "bbOXJ9GJVHppWgt0OjwEBK"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "31K2tUn39G47RitJdKcKW+",
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ver": "1.1.43",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "f5073081-8dd5-444f-b755-d18d38aa98fb",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "box"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +0,0 @@
|
|||
enum GameEvent {
|
||||
GameStateChange,
|
||||
BallHit,
|
||||
}
|
||||
|
||||
export default GameEvent;
|
|
@ -0,0 +1,10 @@
|
|||
import { Enum } from 'cc';
|
||||
|
||||
enum PhysicsGroup {
|
||||
DEFAULT = 1 << 0,
|
||||
TRIGGER = 1 << 1,
|
||||
BALL = 1 << 2,
|
||||
BALLTHROWING = 1 << 3,
|
||||
}
|
||||
|
||||
export default Enum(PhysicsGroup);
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "b1eecaf3-413b-4baa-b963-ac905620d203",
|
||||
"uuid": "abe5050b-d03f-43e5-a763-814051bfe9e0",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
|
@ -0,0 +1,6 @@
|
|||
enum ScoreType {
|
||||
Goal,
|
||||
DestroyObject,
|
||||
}
|
||||
|
||||
export default ScoreType;
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "b5068470-ca45-4461-957c-63a3bd41944f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "29983e40-308b-4f9e-9e19-104e958a083b",
|
||||
"uuid": "0d010146-70ff-4b4b-a3cc-143f843657b1",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
|
@ -0,0 +1,57 @@
|
|||
import { _decorator, CCFloat, CCInteger, Collider2D, Color, Component, Contact2DType, Sprite, Vec3 } from 'cc';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
const { ccclass, property, float } = _decorator;
|
||||
|
||||
@ccclass('DamageableObject')
|
||||
export class DamageableObject extends Component {
|
||||
@property({ type: Collider2D, visible: true })
|
||||
private _collider: Collider2D;
|
||||
@property({ type: Sprite, visible: true })
|
||||
private _sprite: Sprite;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _score: number;
|
||||
@property({ type: CCFloat, visible: true })
|
||||
private _flySpeed: number;
|
||||
|
||||
private _flyDirection: Vec3;
|
||||
private _targetColor: Color;
|
||||
private _hitted = false;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onContactBegin, this);
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (this._hitted) {
|
||||
const pos = new Vec3();
|
||||
Vec3.multiplyScalar(pos, this._flyDirection, this._flySpeed * dt);
|
||||
this.node.worldPosition = this.node.getWorldPosition().add(pos);
|
||||
|
||||
const scale = new Vec3();
|
||||
Vec3.multiplyScalar(scale, Vec3.ONE.clone(), 0.5 * dt);
|
||||
this.node.scale = this.node.getScale().add(scale);
|
||||
|
||||
this.node.angle += 800 * dt;
|
||||
|
||||
this._sprite.color = this._sprite.color.clone().lerp(this._targetColor, 2 * dt);
|
||||
if (this._sprite.color.a == 0) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private onContactBegin(selfCollider: Collider2D, otherCollider: Collider2D) {
|
||||
if (this._hitted) return;
|
||||
this._collider.enabled = false;
|
||||
let center = this.node.getWorldPosition();
|
||||
let other = otherCollider.node.getWorldPosition();
|
||||
this._flyDirection = center.subtract(other);
|
||||
this._flyDirection.normalize();
|
||||
this._hitted = true;
|
||||
this._targetColor = this._sprite.color.clone();
|
||||
this._targetColor.a = 0;
|
||||
this.node.setSiblingIndex(this.node.parent.children.length - 1);
|
||||
if (this._score > 0) {
|
||||
GameManager.instance.destroyEnviromentsObject(this._score);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ab3ad722-8023-4c3b-860b-1e0d4e70c746",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import { _decorator, CCInteger, Collider2D, Component, Contact2DType, Node } from 'cc';
|
||||
import { GameManager } from '../Manager/GameManager';
|
||||
const { ccclass, property, float } = _decorator;
|
||||
|
||||
@ccclass('Goal')
|
||||
export class Goal extends Component {
|
||||
@property({ type: Collider2D, visible: true })
|
||||
private _collider: Collider2D;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _score: number;
|
||||
|
||||
protected onLoad(): void {
|
||||
this._collider.on(Contact2DType.BEGIN_CONTACT, this.onContactBegin, this);
|
||||
}
|
||||
|
||||
private onContactBegin(selfCollider: Collider2D, otherCollider: Collider2D) {
|
||||
GameManager.instance.goal(this._score, otherCollider.node);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "4aff560e-243a-45dd-99f1-c35c3f3ac982",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "2337eea2-81d3-4031-842a-83912dd198d5",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import GameState from '../Enum/GameState';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
|
||||
enum GameEvent {
|
||||
GameStateChange,
|
||||
Score,
|
||||
}
|
||||
|
||||
export interface GameEventCallbackMap {
|
||||
[GameEvent.GameStateChange]: (state: GameState) => void;
|
||||
[GameEvent.Score]: (type: ScoreType, score: number) => void;
|
||||
}
|
||||
|
||||
export interface GameEventArgMap {
|
||||
[GameEvent.GameStateChange]: GameState;
|
||||
[GameEvent.Score]: [ScoreType, number];
|
||||
}
|
||||
|
||||
export default GameEvent;
|
|
@ -2,7 +2,7 @@
|
|||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "a28ecc68-efbe-427e-8f18-5712ec3b9c2e",
|
||||
"uuid": "81dc3a0a-e13c-45ac-a582-34d2eb7e8c44",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
|
@ -11,23 +11,44 @@ import {
|
|||
IPhysics2DContact,
|
||||
RigidBody2D,
|
||||
Vec2,
|
||||
geometry,
|
||||
math,
|
||||
Node,
|
||||
Vec3,
|
||||
ParticleSystem,
|
||||
Prefab,
|
||||
CircleCollider2D,
|
||||
} from 'cc';
|
||||
import IPoolable from '../Pool/IPoolable';
|
||||
import { SoundManager } from '../Manager/SoundManager';
|
||||
import PhysicsGroup from '../Enum/PhysicGroup';
|
||||
import ObjectPool from '../Pool/ObjectPool';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Ball')
|
||||
export class Ball extends Component implements IPoolable {
|
||||
@property({ type: Prefab, visible: true })
|
||||
private _impactPrefab: Prefab;
|
||||
@property({ type: CCFloat, visible: true })
|
||||
private _maxSpeed: number;
|
||||
@property({ type: RigidBody2D, visible: true })
|
||||
private _rigidbody: RigidBody2D;
|
||||
@property({ type: Collider2D, visible: true })
|
||||
private _collider: Collider2D;
|
||||
@property({ type: Node, visible: true })
|
||||
private _sprite: Node;
|
||||
@property({ type: ParticleSystem, visible: true })
|
||||
private _trail: ParticleSystem;
|
||||
@property({ type: CircleCollider2D, visible: true })
|
||||
private _collider: CircleCollider2D;
|
||||
@property({ type: AudioClip, visible: true })
|
||||
private _hitSound: AudioClip;
|
||||
@property({ type: geometry.AnimationCurve, visible: true })
|
||||
private _jumpCurve: geometry.AnimationCurve = new geometry.AnimationCurve();
|
||||
|
||||
private _impactPool: ObjectPool;
|
||||
private _hitted = false;
|
||||
private _isJumping = false;
|
||||
private _jumpTime: number;
|
||||
private _jumpDuration: number;
|
||||
|
||||
public eventHitObstacle = new EventTarget();
|
||||
public eventGoal = new EventTarget();
|
||||
|
@ -38,33 +59,79 @@ export class Ball extends Component implements IPoolable {
|
|||
this._collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
|
||||
}
|
||||
director.on(Director.EVENT_AFTER_PHYSICS, this.setMaxVelocity, this);
|
||||
this._impactPool = new ObjectPool(this._impactPrefab, 5, false);
|
||||
}
|
||||
|
||||
protected update(dt: number): void {
|
||||
if (this._isJumping) {
|
||||
this._jumpTime += dt;
|
||||
let jumpProcess = this._jumpTime / this._jumpDuration;
|
||||
jumpProcess = math.clamp01(jumpProcess);
|
||||
let scale = Vec3.ONE.clone();
|
||||
scale = scale.add(Vec3.ONE.clone().multiplyScalar(this._jumpCurve.evaluate(jumpProcess)));
|
||||
|
||||
this._sprite.setScale(scale);
|
||||
this._trail.trailModule.widthRatio.multiplier = scale.x;
|
||||
|
||||
if (jumpProcess >= 1) {
|
||||
this._sprite.setScale(Vec3.ONE);
|
||||
this._trail.trailModule.widthRatio.multiplier = 1;
|
||||
this._isJumping = false;
|
||||
this._collider.group = PhysicsGroup.BALL;
|
||||
this._rigidbody.group = PhysicsGroup.BALL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
|
||||
if (this._hitted) return;
|
||||
this._hitted = true;
|
||||
if (this._rigidbody.linearVelocity.length() >= 3) {
|
||||
let hitPoint = contact.getWorldManifold().points[0];
|
||||
if (!hitPoint) {
|
||||
const dir = otherCollider.node
|
||||
.getWorldPosition()
|
||||
.subtract(selfCollider.node.getWorldPosition())
|
||||
.normalize();
|
||||
dir.multiplyScalar(this._collider.radius / 2);
|
||||
const point = selfCollider.node.getWorldPosition().add(dir);
|
||||
hitPoint = new Vec2(point.x, point.y);
|
||||
}
|
||||
const hitfx = this._impactPool.get(this.node.parent, ParticleSystem);
|
||||
hitfx.node.setWorldPosition(new Vec3(hitPoint.x, hitPoint.y, 10));
|
||||
hitfx.play();
|
||||
SoundManager.instance.playSfx(this._hitSound);
|
||||
}
|
||||
}
|
||||
|
||||
private setMaxVelocity() {
|
||||
if (this._rigidbody.linearVelocity.length() > this._maxSpeed) {
|
||||
this._rigidbody.linearVelocity = this._rigidbody.linearVelocity.normalize().multiplyScalar(this._maxSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
private onEndContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
|
||||
// console.log(otherCollider.tag, otherCollider.node.name);
|
||||
this._hitted = false;
|
||||
}
|
||||
|
||||
public addFocre(force: Vec2) {
|
||||
const point = this.node.getWorldPosition();
|
||||
this._rigidbody.applyLinearImpulse(force, new Vec2(point.x, point.y), true);
|
||||
private setMaxVelocity() {
|
||||
if (this._rigidbody.linearVelocity.length() > this._maxSpeed) {
|
||||
this._rigidbody.linearVelocity = this._rigidbody.linearVelocity.normalize().multiplyScalar(this._maxSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
reuse() {}
|
||||
public addFocre(force: Vec2) {
|
||||
this._rigidbody.applyLinearImpulseToCenter(force, true);
|
||||
}
|
||||
|
||||
public throwBall(force: Vec2) {
|
||||
this._collider.group = PhysicsGroup.BALLTHROWING;
|
||||
this._rigidbody.group = PhysicsGroup.BALLTHROWING;
|
||||
this._rigidbody.applyLinearImpulseToCenter(force, true);
|
||||
this._isJumping = true;
|
||||
this._jumpTime = 0;
|
||||
this._jumpDuration = this._rigidbody.linearVelocity.length() * 0.05;
|
||||
}
|
||||
|
||||
reuse() {
|
||||
this._isJumping = false;
|
||||
this._hitted = false;
|
||||
}
|
||||
|
||||
unuse() {
|
||||
this._rigidbody.linearVelocity = Vec2.ZERO.clone();
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
import GameEvent from '../Enum/GameEvent';
|
||||
import GameState from '../Enum/GameState';
|
||||
|
||||
export interface GameEventCallbackMap {
|
||||
[GameEvent.GameStateChange]: (state: GameState) => void;
|
||||
[GameEvent.BallHit]: () => void;
|
||||
}
|
||||
|
||||
export interface GameEventArgMap {
|
||||
[GameEvent.GameStateChange]: GameState;
|
||||
[GameEvent.BallHit]: null;
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
import { __private, _decorator, Component, EventTarget, Node } from 'cc';
|
||||
import GameEvent from '../Enum/GameEvent';
|
||||
import { GameEventArgMap, GameEventCallbackMap } from '../Interface/GameEventMap';
|
||||
import { GameEventArgMap, GameEventCallbackMap } from '../Events/GameEvent';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('EventManger')
|
||||
|
|
|
@ -4,7 +4,8 @@ import { Ball } from '../Gameplay/Ball';
|
|||
import Utilities from '../Utilities/Utilities';
|
||||
import GameState from '../Enum/GameState';
|
||||
import { EventManger } from './EventManger';
|
||||
import GameEvent from '../Enum/GameEvent';
|
||||
import GameEvent from '../Events/GameEvent';
|
||||
import ScoreType from '../Enum/ScoreType';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('GameManager')
|
||||
|
@ -17,7 +18,8 @@ export class GameManager extends Component {
|
|||
|
||||
@property({ type: Prefab, visible: true })
|
||||
private _ballPrefab: Prefab;
|
||||
@property({ type: Vec3, visible: true })
|
||||
|
||||
@property({ visible: true })
|
||||
private _ballSpawnPosition: Vec3;
|
||||
@property({ type: CCInteger, visible: true })
|
||||
private _balls = 3;
|
||||
|
@ -26,16 +28,15 @@ export class GameManager extends Component {
|
|||
private _gameState = GameState.Init;
|
||||
|
||||
public highestStreak: number;
|
||||
public score = 0;
|
||||
private _score = 0;
|
||||
|
||||
protected onLoad(): void {
|
||||
GameManager._instance = this;
|
||||
this._ballPool = new ObjectPool(this._ballPrefab, 10, false, Ball);
|
||||
this._ballPool = new ObjectPool(this._ballPrefab, 10, true, Ball);
|
||||
}
|
||||
|
||||
protected async start() {
|
||||
// this.spawnBall();
|
||||
const a = [1, 4, 4, 5];
|
||||
protected start() {
|
||||
this.spawnBall();
|
||||
}
|
||||
|
||||
private changeGameState(state: GameState) {
|
||||
|
@ -43,6 +44,12 @@ export class GameManager extends Component {
|
|||
EventManger.instance.emit(GameEvent.GameStateChange, this._gameState);
|
||||
}
|
||||
|
||||
private addScore(score: number, type: ScoreType) {
|
||||
this._score += score;
|
||||
console.log('score:' + this._score);
|
||||
EventManger.instance.emit(GameEvent.Score, [type, this._score]);
|
||||
}
|
||||
|
||||
public spawnBall(): Ball {
|
||||
const ball = this._ballPool.get(this.node, Ball);
|
||||
ball.node.setPosition(this._ballSpawnPosition);
|
||||
|
@ -51,18 +58,29 @@ export class GameManager extends Component {
|
|||
dir = randomRangeInt(-1, 2);
|
||||
}
|
||||
const force = new Vec2(dir, 1);
|
||||
ball.addFocre(force.multiply2f(1, 50));
|
||||
ball.throwBall(force.multiply2f(1, 40));
|
||||
return ball;
|
||||
}
|
||||
|
||||
public async ballOut(ball: Node) {
|
||||
this._balls--;
|
||||
this._ballPool.release(ball);
|
||||
if (this._balls === 0) {
|
||||
return;
|
||||
}
|
||||
this._ballPool.release(ball);
|
||||
await Utilities.delay(1000);
|
||||
// this.spawnBall();
|
||||
this.spawnBall();
|
||||
}
|
||||
|
||||
public async goal(bonusScore: number, ball: Node) {
|
||||
this._ballPool.release(ball);
|
||||
this.addScore(bonusScore, ScoreType.Goal);
|
||||
await Utilities.delay(1000);
|
||||
this.spawnBall();
|
||||
}
|
||||
|
||||
public destroyEnviromentsObject(bonusScore: number) {
|
||||
this.addScore(bonusScore, ScoreType.DestroyObject);
|
||||
}
|
||||
|
||||
public onRevive() {
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
import { _decorator, Component, Node, Prefab } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('SpawnObjectManager')
|
||||
export class SpawnObjectManager extends Component {
|
||||
//#region singleton
|
||||
private static _instance: SpawnObjectManager = null;
|
||||
public static get instance(): SpawnObjectManager {
|
||||
return SpawnObjectManager._instance;
|
||||
}
|
||||
//#endregion
|
||||
|
||||
@property({ type: [Prefab], visible: true })
|
||||
private _objects: Prefab[] = [];
|
||||
@property({ type: [Node], visible: true })
|
||||
private _spawnPoints: Node[] = [];
|
||||
|
||||
protected onLoad(): void {
|
||||
SpawnObjectManager._instance = this;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "402d0351-87fa-4216-8b59-1bea39684f29",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"ver": "1.1.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "df03dc40-3e2b-4190-8ffb-253238758590",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"compressionType": {},
|
||||
"isRemoteBundle": {}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import { _decorator, Component, Node } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('UIController')
|
||||
export class UIController extends Component {
|
||||
start() {
|
||||
|
||||
}
|
||||
|
||||
update(deltaTime: number) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"ver": "4.0.23",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ecf072da-d6b3-40f1-88d8-d21f7bc9f59f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 9.3 KiB |
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"ver": "1.0.25",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@6c48a",
|
||||
"displayName": "ring",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@f9941",
|
||||
"displayName": "ring",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 262,
|
||||
"height": 262,
|
||||
"rawWidth": 262,
|
||||
"rawHeight": 262,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-131,
|
||||
-131,
|
||||
0,
|
||||
131,
|
||||
-131,
|
||||
0,
|
||||
-131,
|
||||
131,
|
||||
0,
|
||||
131,
|
||||
131,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
262,
|
||||
262,
|
||||
262,
|
||||
0,
|
||||
0,
|
||||
262,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-131,
|
||||
-131,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
131,
|
||||
131,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.11",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"fixAlphaTransparencyArtifacts": true,
|
||||
"hasAlpha": true,
|
||||
"redirect": "55cef4ac-5e35-45d5-90f5-b50f6dcefca7@f9941"
|
||||
}
|
||||
}
|
|
@ -21,13 +21,34 @@
|
|||
{
|
||||
"index": 2,
|
||||
"name": "BALL"
|
||||
},
|
||||
{
|
||||
"index": 3,
|
||||
"name": "BALLTHROWING"
|
||||
},
|
||||
{
|
||||
"index": 4,
|
||||
"name": "BORDER"
|
||||
}
|
||||
],
|
||||
"collisionMatrix": {
|
||||
"0": 5,
|
||||
"1": 4,
|
||||
"2": 7
|
||||
"0": 21,
|
||||
"1": 12,
|
||||
"2": 23,
|
||||
"3": 18,
|
||||
"4": 29
|
||||
}
|
||||
},
|
||||
"custom_joint_texture_layouts": []
|
||||
"custom_joint_texture_layouts": [],
|
||||
"layer": [],
|
||||
"sorting-layer": {
|
||||
"layers": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "default",
|
||||
"value": 0
|
||||
}
|
||||
],
|
||||
"increaseId": 2
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue