first commit
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=https://docs.cocos.com/creator/manual/en/scripting/setup.html#custom-script-template
|
||||
5
.creator/default-meta.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"image": {
|
||||
"type": "sprite-frame"
|
||||
}
|
||||
}
|
||||
24
.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
#///////////////////////////
|
||||
# Cocos Creator 3D Project
|
||||
#///////////////////////////
|
||||
library/
|
||||
temp/
|
||||
local/
|
||||
build/
|
||||
profiles/
|
||||
native
|
||||
#//////////////////////////
|
||||
# NPM
|
||||
#//////////////////////////
|
||||
node_modules/
|
||||
|
||||
#//////////////////////////
|
||||
# VSCode
|
||||
#//////////////////////////
|
||||
.vscode/
|
||||
|
||||
#//////////////////////////
|
||||
# WebStorm
|
||||
#//////////////////////////
|
||||
.idea/
|
||||
BIN
assets/.DS_Store
vendored
Normal file
9
assets/Music.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "0ff76cbf-36f2-4d5b-bc4c-dbd4f72af8b4",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
BIN
assets/Music/.DS_Store
vendored
Normal file
BIN
assets/Music/clear.mp3
Normal file
14
assets/Music/clear.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "226321ef-18ba-4971-8c1e-390621bd586a",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/electricity.mp3
Normal file
14
assets/Music/electricity.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "c70553ee-1056-4775-9ff9-c237a713654f",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/hint.mp3
Normal file
14
assets/Music/hint.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "506f2137-ea3a-496d-b351-278cd50ffd56",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/magic.mp3
Normal file
14
assets/Music/magic.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "255c0043-ac64-4437-89f0-c0f645a26918",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/play.mp3
Normal file
14
assets/Music/play.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "1b3412d9-9df6-4e43-9b89-53f824efc759",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/remove.mp3
Normal file
14
assets/Music/remove.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "a5363c1d-f32a-400a-ba20-d69481533373",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/shuffle.mp3
Normal file
14
assets/Music/shuffle.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "5d1b053d-a3aa-43e9-b794-cd5acbb9767f",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/startAudio.mp3
Normal file
14
assets/Music/startAudio.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "0b1fe855-606c-411e-b287-72a9b2b78d59",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
BIN
assets/Music/victory.mp3
Normal file
14
assets/Music/victory.mp3.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.0.0",
|
||||
"importer": "audio-clip",
|
||||
"imported": true,
|
||||
"uuid": "79b91b1d-d514-4317-91ba-4dfceaee8ae7",
|
||||
"files": [
|
||||
".json",
|
||||
".mp3"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"downloadMode": 0
|
||||
}
|
||||
}
|
||||
9
assets/Scene.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "d163ab26-2b96-487d-9d30-78a04745f14a",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
1395
assets/Scene/game.scene
Normal file
11
assets/Scene/game.scene.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "scene",
|
||||
"imported": true,
|
||||
"uuid": "a8ddc926-6226-407d-8cf1-0e5cccfedc3f",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
9
assets/prefabs.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "5709b521-7d29-4ad4-9b6d-27a537855d18",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
1189
assets/prefabs/Fruit-tu.prefab
Normal file
13
assets/prefabs/Fruit-tu.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "882a2789-3f01-4d0f-8211-e1fee5a16a23",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Fruit-tu"
|
||||
}
|
||||
}
|
||||
238
assets/prefabs/Fruit-xm.prefab
Normal file
@@ -0,0 +1,238 @@
|
||||
[
|
||||
{
|
||||
"__type__": "cc.Prefab",
|
||||
"_name": "Fruit-xm",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_native": "",
|
||||
"data": {
|
||||
"__id__": 1
|
||||
},
|
||||
"optimizationPolicy": 0,
|
||||
"persistent": false
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Fruit-xm",
|
||||
"_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": 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__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 3
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 130,
|
||||
"height": 207
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "5fQuHkImpBj7qMPlBXkk4K"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"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__": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca@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": "66g2/0F0hE67hdqMrxGNKj"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.RigidBody2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 7
|
||||
},
|
||||
"enabledContactListener": true,
|
||||
"bullet": false,
|
||||
"awakeOnLoad": true,
|
||||
"_group": 2,
|
||||
"_type": 2,
|
||||
"_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": "f0b7B5HeRCHYvicqix9N56"
|
||||
},
|
||||
{
|
||||
"__type__": "39730kTlZ1C0bpxxuRn3zcl",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 9
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "a57Mv2Aa1JB72c+tuwhmiU"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CircleCollider2D",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 11
|
||||
},
|
||||
"tag": 0,
|
||||
"_group": 1,
|
||||
"_density": 1,
|
||||
"_sensor": false,
|
||||
"_friction": 0.2,
|
||||
"_restitution": 0.2,
|
||||
"_offset": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_radius": 103.5,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "adXeTGfApEYIvaSMKRkhFw"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "c46/YsCPVOJYA4mWEpNYRx",
|
||||
"instance": null,
|
||||
"targetOverrides": null
|
||||
}
|
||||
]
|
||||
13
assets/prefabs/Fruit-xm.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "285a06d7-c9a8-4c48-800e-62e6fb8ce88e",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Fruit-xm"
|
||||
}
|
||||
}
|
||||
1429
assets/prefabs/Fruit-yz.prefab
Normal file
13
assets/prefabs/Fruit-yz.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "d44c3ca6-a681-48ac-b951-fcc77b4f3f41",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Fruit-yz"
|
||||
}
|
||||
}
|
||||
1714
assets/prefabs/Fruit.prefab
Normal file
13
assets/prefabs/Fruit.prefab.meta
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "b0633cc2-95ae-4977-ae76-2433cbc855f0",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "Fruit"
|
||||
}
|
||||
}
|
||||
14
assets/resources.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "5a728680-790e-456e-97ba-7d0364f9d12a",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"isBundle": true,
|
||||
"bundleConfigID": "default",
|
||||
"bundleName": "resources",
|
||||
"priority": 8
|
||||
}
|
||||
}
|
||||
9
assets/resources/textures.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "7b2ffd95-2192-41db-a474-b9cc90d5c933",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
BIN
assets/resources/textures/.DS_Store
vendored
Normal file
BIN
assets/resources/textures/1.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
134
assets/resources/textures/1.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "a19c48c6-e2ce-473b-87a8-d1140251756c",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "a19c48c6-e2ce-473b-87a8-d1140251756c@6c48a",
|
||||
"displayName": "1",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "a19c48c6-e2ce-473b-87a8-d1140251756c",
|
||||
"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": "a19c48c6-e2ce-473b-87a8-d1140251756c@f9941",
|
||||
"displayName": "1",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 240,
|
||||
"height": 286,
|
||||
"rawWidth": 240,
|
||||
"rawHeight": 286,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-120,
|
||||
-143,
|
||||
0,
|
||||
120,
|
||||
-143,
|
||||
0,
|
||||
-120,
|
||||
143,
|
||||
0,
|
||||
120,
|
||||
143,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
286,
|
||||
240,
|
||||
286,
|
||||
0,
|
||||
0,
|
||||
240,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-120,
|
||||
-143,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
120,
|
||||
143,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "a19c48c6-e2ce-473b-87a8-d1140251756c@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "a19c48c6-e2ce-473b-87a8-d1140251756c@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/resources/textures/2.png
Normal file
|
After Width: | Height: | Size: 117 KiB |
134
assets/resources/textures/2.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "af528c64-b079-463b-88e0-7bfbba947bf2",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "af528c64-b079-463b-88e0-7bfbba947bf2@6c48a",
|
||||
"displayName": "2",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "af528c64-b079-463b-88e0-7bfbba947bf2",
|
||||
"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": "af528c64-b079-463b-88e0-7bfbba947bf2@f9941",
|
||||
"displayName": "2",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 3,
|
||||
"offsetY": 0,
|
||||
"trimX": 6,
|
||||
"trimY": 0,
|
||||
"width": 203,
|
||||
"height": 307,
|
||||
"rawWidth": 209,
|
||||
"rawHeight": 307,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-101.5,
|
||||
-153.5,
|
||||
0,
|
||||
101.5,
|
||||
-153.5,
|
||||
0,
|
||||
-101.5,
|
||||
153.5,
|
||||
0,
|
||||
101.5,
|
||||
153.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
6,
|
||||
307,
|
||||
209,
|
||||
307,
|
||||
6,
|
||||
0,
|
||||
209,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0.028708133971291867,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0.028708133971291867,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-101.5,
|
||||
-153.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
101.5,
|
||||
153.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "af528c64-b079-463b-88e0-7bfbba947bf2@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "af528c64-b079-463b-88e0-7bfbba947bf2@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/resources/textures/3.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
134
assets/resources/textures/3.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca@6c48a",
|
||||
"displayName": "3",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca",
|
||||
"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": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca@f9941",
|
||||
"displayName": "3",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 1,
|
||||
"offsetY": 0,
|
||||
"trimX": 2,
|
||||
"trimY": 0,
|
||||
"width": 222,
|
||||
"height": 275,
|
||||
"rawWidth": 224,
|
||||
"rawHeight": 275,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-111,
|
||||
-137.5,
|
||||
0,
|
||||
111,
|
||||
-137.5,
|
||||
0,
|
||||
-111,
|
||||
137.5,
|
||||
0,
|
||||
111,
|
||||
137.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
2,
|
||||
275,
|
||||
224,
|
||||
275,
|
||||
2,
|
||||
0,
|
||||
224,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0.008928571428571428,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0.008928571428571428,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-111,
|
||||
-137.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
111,
|
||||
137.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "5b4d5825-6c8e-44e5-a71d-2d087c8993ca@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/resources/textures/4.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
134
assets/resources/textures/4.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "4e57c78e-d895-4138-a2b3-25b825699979",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "4e57c78e-d895-4138-a2b3-25b825699979@6c48a",
|
||||
"displayName": "4",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "4e57c78e-d895-4138-a2b3-25b825699979",
|
||||
"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": "4e57c78e-d895-4138-a2b3-25b825699979@f9941",
|
||||
"displayName": "4",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 204,
|
||||
"height": 287,
|
||||
"rawWidth": 204,
|
||||
"rawHeight": 287,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-102,
|
||||
-143.5,
|
||||
0,
|
||||
102,
|
||||
-143.5,
|
||||
0,
|
||||
-102,
|
||||
143.5,
|
||||
0,
|
||||
102,
|
||||
143.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
287,
|
||||
204,
|
||||
287,
|
||||
0,
|
||||
0,
|
||||
204,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-102,
|
||||
-143.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
102,
|
||||
143.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "4e57c78e-d895-4138-a2b3-25b825699979@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "4e57c78e-d895-4138-a2b3-25b825699979@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/resources/textures/5.png
Normal file
|
After Width: | Height: | Size: 116 KiB |
134
assets/resources/textures/5.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "c34a77c1-d19d-4f03-bbeb-4cbb51aa3d9d",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "c34a77c1-d19d-4f03-bbeb-4cbb51aa3d9d@6c48a",
|
||||
"displayName": "5",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "c34a77c1-d19d-4f03-bbeb-4cbb51aa3d9d",
|
||||
"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": "c34a77c1-d19d-4f03-bbeb-4cbb51aa3d9d@f9941",
|
||||
"displayName": "5",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 224,
|
||||
"height": 278,
|
||||
"rawWidth": 224,
|
||||
"rawHeight": 278,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-112,
|
||||
-139,
|
||||
0,
|
||||
112,
|
||||
-139,
|
||||
0,
|
||||
-112,
|
||||
139,
|
||||
0,
|
||||
112,
|
||||
139,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
278,
|
||||
224,
|
||||
278,
|
||||
0,
|
||||
0,
|
||||
224,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-112,
|
||||
-139,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
112,
|
||||
139,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "c34a77c1-d19d-4f03-bbeb-4cbb51aa3d9d@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "c34a77c1-d19d-4f03-bbeb-4cbb51aa3d9d@6c48a"
|
||||
}
|
||||
}
|
||||
9
assets/scripts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "2eafa7e7-bc9b-4186-b7c6-8f48be012d0c",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
77
assets/scripts/Board.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
import { _decorator, Node, Prefab, instantiate, SpriteFrame, tween, Vec3, Sprite } from "cc";
|
||||
import { Fruit } from "./Fruit";
|
||||
import { FruitNode } from "./FruitNode";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("Board")
|
||||
export class Board extends Node {
|
||||
@property(Prefab) fruitPrefab: Prefab = null!;
|
||||
@property([SpriteFrame]) fruitSprites: SpriteFrame[] = [];
|
||||
|
||||
board: (Fruit | null)[][] = [];
|
||||
rows = 4;
|
||||
cols = 4;
|
||||
|
||||
node: Node = null!;
|
||||
|
||||
onLoad() {
|
||||
this.initBoard();
|
||||
}
|
||||
|
||||
initBoard() {
|
||||
this.board = [];
|
||||
for (let r = 0; r < this.rows; r++) {
|
||||
this.board[r] = [];
|
||||
for (let c = 0; c < this.cols; c++) {
|
||||
this.board[r][c] = null;
|
||||
}
|
||||
}
|
||||
this.spawnFruit();
|
||||
this.spawnFruit();
|
||||
}
|
||||
|
||||
spawnFruit() {
|
||||
let emptyCells: { r: number; c: number }[] = [];
|
||||
for (let r = 0; r < this.rows; r++) {
|
||||
for (let c = 0; c < this.cols; c++) {
|
||||
if (!this.board[r][c]) emptyCells.push({ r, c });
|
||||
}
|
||||
}
|
||||
if (emptyCells.length === 0) return;
|
||||
|
||||
let index = Math.floor(Math.random() * emptyCells.length);
|
||||
let cell = emptyCells[index];
|
||||
|
||||
let node = instantiate(this.fruitPrefab);
|
||||
node.setParent(this.node);
|
||||
node.setPosition(new Vec3(cell.c * 100, cell.r * -100, 0));
|
||||
|
||||
let fruit = new Fruit(node, cell.r, cell.c, 1);
|
||||
node.getComponent(FruitNode)!.init(fruit, this);
|
||||
node.getComponent(Sprite)!.spriteFrame = this.fruitSprites[0];
|
||||
|
||||
this.board[cell.r][cell.c] = fruit;
|
||||
}
|
||||
|
||||
merge(f1: Fruit, f2: Fruit) {
|
||||
if (f1.level !== f2.level) return;
|
||||
f1.level += 1;
|
||||
|
||||
if (f1.level - 1 < this.fruitSprites.length)
|
||||
f1.node.getComponent(Sprite)!.spriteFrame = this.fruitSprites[f1.level - 1];
|
||||
|
||||
this.playMergeAnimation(f1.node, f2.node);
|
||||
|
||||
this.board[f2.row][f2.col] = null;
|
||||
f2.node.destroy();
|
||||
|
||||
this.spawnFruit();
|
||||
}
|
||||
|
||||
playMergeAnimation(n1: Node, n2: Node) {
|
||||
// tween(n1)
|
||||
// .to(0.2, { scale: 1.2 })
|
||||
// .to(0.1, { scale: 1 })
|
||||
// .start();
|
||||
}
|
||||
}
|
||||
9
assets/scripts/Board.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "6308cbf7-e95c-403f-922c-d21de1892e99",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
23
assets/scripts/Fruit copy.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { _decorator, Node, Sprite } from "cc";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("Fruit")
|
||||
export class Fruit {
|
||||
id: number = 0;
|
||||
type: string = 'watermelon';
|
||||
level: number = 1;
|
||||
node: Node = null!;
|
||||
row: number = 0;
|
||||
col: number = 0;
|
||||
|
||||
constructor(node: Node, row: number, col: number, level: number = 1) {
|
||||
this.node = node;
|
||||
this.row = row;
|
||||
this.col = col;
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
setSprite(sprite: Sprite) {
|
||||
this.node.getComponent(Sprite)!.spriteFrame = sprite.spriteFrame;
|
||||
}
|
||||
}
|
||||
9
assets/scripts/Fruit copy.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "ff426be0-7138-4c1a-ae7a-1e8fbe8ecf48",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
74
assets/scripts/Fruit.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import { _decorator, Component, Sprite, SpriteFrame, UITransform, Size, CircleCollider2D, Contact2DType, IPhysics2DContact, RigidBody2D, Vec2, Node } from 'cc';
|
||||
import { FRUITS, MAX_LEVEL } from './FruitConfig';
|
||||
import { GameManager } from './GameManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('Fruit')
|
||||
export class Fruit extends Component {
|
||||
@property
|
||||
level = 1; // 1..MAX_LEVEL
|
||||
|
||||
@property(Sprite)
|
||||
sprite!: Sprite;
|
||||
|
||||
game!: GameManager;
|
||||
collider!: CircleCollider2D;
|
||||
body!: RigidBody2D;
|
||||
|
||||
// 防止同一对重复合成
|
||||
merging = false;
|
||||
removed = false;
|
||||
|
||||
init(level: number, spriteFrame: SpriteFrame, game: GameManager) {
|
||||
this.level = level;
|
||||
this.game = game;
|
||||
if (!this.sprite) this.sprite = this.getComponent(Sprite)!;
|
||||
this.sprite.spriteFrame = spriteFrame;
|
||||
|
||||
const def = FRUITS[this.level - 1];
|
||||
const ui = this.getComponent(UITransform)!;
|
||||
ui.setContentSize(new Size(def.radius * 2, def.radius * 2));
|
||||
|
||||
this.collider = this.getComponent(CircleCollider2D)!;
|
||||
this.collider.radius = def.radius;
|
||||
|
||||
this.body = this.getComponent(RigidBody2D)!;
|
||||
this.body.enabled = true;
|
||||
|
||||
this.merging = false;
|
||||
this.removed = false;
|
||||
}
|
||||
|
||||
onEnable() {
|
||||
const col = this.getComponent(CircleCollider2D);
|
||||
if (col) col.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||
}
|
||||
|
||||
onDisable() {
|
||||
const col = this.getComponent(CircleCollider2D);
|
||||
if (col) col.off(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
|
||||
}
|
||||
|
||||
private onBeginContact(selfCol: CircleCollider2D, otherCol: CircleCollider2D, _contact: IPhysics2DContact | null) {
|
||||
if (this.removed || this.merging) return;
|
||||
const otherNode = otherCol.node as Node;
|
||||
const otherFruit = otherNode.getComponent(Fruit);
|
||||
if (!otherFruit || otherFruit.removed || otherFruit.merging) return;
|
||||
|
||||
// 仅同级可合成,且不能超过最大级
|
||||
if (otherFruit.level !== this.level || this.level >= MAX_LEVEL) return;
|
||||
|
||||
// 为避免两者都合成,使用 uuid 决定触发者(只让“较小”的触发)
|
||||
if (this.node.uuid > otherNode.uuid) return;
|
||||
|
||||
this.merging = true;
|
||||
otherFruit.merging = true;
|
||||
|
||||
// 合成到下一级
|
||||
const nextLevel = this.level + 1;
|
||||
const wpA = this.node.worldPosition;
|
||||
const wpB = otherNode.worldPosition;
|
||||
const mid = wpA.clone().add(wpB).multiplyScalar(0.5);
|
||||
this.game.spawnMerged(nextLevel, mid, this, otherFruit);
|
||||
}
|
||||
}
|
||||
9
assets/scripts/Fruit.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "396f863c-03c8-48a2-970c-d60402224f68",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
37
assets/scripts/FruitConfig.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
// assets/scripts/FruitConfig.ts
|
||||
import { SpriteFrame } from 'cc';
|
||||
|
||||
export interface FruitDef {
|
||||
level: number; // 1..MAX
|
||||
name: string;
|
||||
radius: number; // 物理半径(像素)
|
||||
score: number; // 合成到该等级获得的分数
|
||||
sprite?: SpriteFrame; // 运行时由 GameManager 注入
|
||||
}
|
||||
|
||||
export const MAX_LEVEL = 11; // 西瓜
|
||||
|
||||
// 半径与分数可按手感微调(半径越大越难堆)
|
||||
export const FRUITS: FruitDef[] = [
|
||||
{ level: 1, name: '樱桃', radius: 26, score: 1 },
|
||||
{ level: 2, name: '草莓', radius: 30, score: 2 },
|
||||
{ level: 3, name: '葡萄', radius: 34, score: 4 },
|
||||
{ level: 4, name: '橘子', radius: 38, score: 8 },
|
||||
{ level: 5, name: '柠檬', radius: 44, score: 16 },
|
||||
{ level: 6, name: '猕猴桃', radius: 50, score: 24 },
|
||||
{ level: 7, name: '番茄', radius: 58, score: 36 },
|
||||
{ level: 8, name: '桃子', radius: 66, score: 48 },
|
||||
{ level: 9, name: '菠萝', radius: 74, score: 64 },
|
||||
{ level: 10, name: '哈密瓜', radius: 84, score: 96 },
|
||||
{ level: 11, name: '西瓜', radius: 96, score: 128 },
|
||||
];
|
||||
|
||||
export function clampLevel(lv: number) {
|
||||
if (lv < 1) return 1; if (lv > MAX_LEVEL) return MAX_LEVEL; return lv;
|
||||
}
|
||||
|
||||
export function randomStartLevel(min=1, max=5) {
|
||||
const a = Math.max(1, Math.min(MAX_LEVEL-1, min));
|
||||
const b = Math.max(a, Math.min(MAX_LEVEL-1, max));
|
||||
return Math.floor(Math.random() * (b - a + 1)) + a;
|
||||
}
|
||||
9
assets/scripts/FruitConfig.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "a88fb8bc-e48e-4301-82ba-479028f64ba3",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
43
assets/scripts/FruitNode.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { _decorator, Component, Node, Vec3, EventTouch, tween } from "cc";
|
||||
import { Fruit } from "./Fruit";
|
||||
import { Board } from "./Board";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("FruitNode")
|
||||
export class FruitNode extends Component {
|
||||
|
||||
public fruitId: number = 0
|
||||
// fruit: Fruit = null!;
|
||||
// board: Board = null!;
|
||||
|
||||
// init(fruit: Fruit, board: Board) {
|
||||
// this.fruit = fruit;
|
||||
// this.board = board;
|
||||
|
||||
// this.node.on(Node.EventType.TOUCH_MOVE, this.onDragMove, this);
|
||||
// this.node.on(Node.EventType.TOUCH_END, this.onDragEnd, this);
|
||||
// }
|
||||
|
||||
// onDragMove(event: EventTouch) {
|
||||
// let delta = event.getDelta();
|
||||
// this.node.position = this.node.position.add(new Vec3(delta.x, delta.y, 0));
|
||||
// }
|
||||
|
||||
// onDragEnd() {
|
||||
// for (let r = 0; r < this.board.rows; r++) {
|
||||
// for (let c = 0; c < this.board.cols; c++) {
|
||||
// let target = this.board.board[r][c];
|
||||
// if (target && target !== this.fruit) {
|
||||
// let dist = this.node.position.subtract(target.node.position).length();
|
||||
// if (dist < 50) {
|
||||
// this.board.merge(this.fruit, target);
|
||||
// this.node.setPosition(target.node.position);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// // 回到原位
|
||||
// this.node.setPosition(new Vec3(this.fruit.col * 100, this.fruit.row * -100, 0));
|
||||
// }
|
||||
}
|
||||
9
assets/scripts/FruitNode.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "39730913-959d-42d1-ba71-c6e467df3725",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
73
assets/scripts/GameManager copy.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import { _decorator, Component, Prefab,Node, instantiate, RigidBody2D, input, Input, EventTouch, UITransform, v3, Collider2D, Contact2DType } from "cc";
|
||||
import { Board } from "./Board";
|
||||
import { FruitNode } from "./FruitNode";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("GameManager")
|
||||
export class GameManager extends Component {
|
||||
@property(Node)
|
||||
fruitStart: Node = null;
|
||||
|
||||
@property(Node)
|
||||
fruitParent: Node = null;
|
||||
|
||||
@property(Prefab)
|
||||
fruitPrefabs: Prefab[] = [];
|
||||
|
||||
private _curFruit: Node = null;
|
||||
|
||||
start() {
|
||||
this.createFruit()
|
||||
|
||||
input.on(Input.EventType.TOUCH_START, this.handelTouchStart, this)
|
||||
input.on(Input.EventType.TOUCH_MOVE, this.handelTouchMove, this)
|
||||
input.on(Input.EventType.TOUCH_END, this.handelTouchEnd, this)
|
||||
}
|
||||
|
||||
handelTouchStart(event: EventTouch) {
|
||||
|
||||
}
|
||||
|
||||
handelTouchMove(event) {
|
||||
const curPos = event.getUILocation();
|
||||
const parentPos = this.fruitParent.getComponent(UITransform).convertToNodeSpaceAR(v3(curPos.x, curPos.y, 0));
|
||||
// 当前水果坐标
|
||||
const fruitPos = this._curFruit.getPosition();
|
||||
fruitPos.x = parentPos.x
|
||||
this._curFruit.setPosition(fruitPos);
|
||||
}
|
||||
|
||||
handelTouchEnd(event) {
|
||||
if (!this._curFruit) return;
|
||||
|
||||
this._curFruit.getComponent(RigidBody2D).enabled = true;
|
||||
|
||||
this._curFruit = null;
|
||||
|
||||
this.scheduleOnce(this.createFruit, 2)
|
||||
}
|
||||
|
||||
private createFruit() {
|
||||
const fruitId = Math.floor(Math.random() * 3);
|
||||
const fruitNode = instantiate(this.fruitPrefabs[fruitId]);
|
||||
fruitNode.setPosition(this.fruitStart.position);
|
||||
fruitNode.getComponent(RigidBody2D).enabled = false;
|
||||
|
||||
fruitNode.getComponent(FruitNode).fruitId = fruitId
|
||||
// 监听水果碰撞事件
|
||||
const collider = fruitNode.getComponent(Collider2D);
|
||||
collider.on(Contact2DType.BEGIN_CONTACT, this.handelBeginContact, this)
|
||||
|
||||
fruitNode.getComponent(RigidBody2D).gravityScale = 3; // 重力
|
||||
this.fruitParent.addChild(fruitNode);
|
||||
|
||||
this._curFruit = fruitNode;
|
||||
}
|
||||
|
||||
handelBeginContact(selfContact: Collider2D, otherContact: Collider2D) {
|
||||
if(otherContact.group !== Math.pow(2, 1)) return;
|
||||
|
||||
console.log(111)
|
||||
|
||||
}
|
||||
}
|
||||
9
assets/scripts/GameManager copy.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "08c0e1a0-ea3f-4fd8-a1e7-d9a8db0ca468",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
290
assets/scripts/GameManager.ts
Normal file
@@ -0,0 +1,290 @@
|
||||
// assets/scripts/GameManager.ts
|
||||
import {
|
||||
_decorator,
|
||||
Component,
|
||||
Node,
|
||||
Prefab,
|
||||
instantiate,
|
||||
NodePool,
|
||||
UITransform,
|
||||
Vec3,
|
||||
v3,
|
||||
input,
|
||||
Input,
|
||||
EventTouch,
|
||||
SpriteFrame,
|
||||
Sprite,
|
||||
Label,
|
||||
RigidBody2D,
|
||||
Vec2,
|
||||
tween,
|
||||
AudioSource,
|
||||
sys,
|
||||
math,
|
||||
} from 'cc';
|
||||
import { FRUITS, clampLevel, randomStartLevel } from './FruitConfig';
|
||||
import { Fruit } from './Fruit';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('GameManager')
|
||||
export class GameManager extends Component {
|
||||
@property(Prefab)
|
||||
fruitPrefab!: Prefab; // 统一水果预制
|
||||
|
||||
@property([SpriteFrame])
|
||||
fruitSprites: SpriteFrame[] = []; // 长度需 >= FRUITS.length,按等级顺序
|
||||
|
||||
@property(Node)
|
||||
fruitRoot!: Node;
|
||||
|
||||
@property(Node)
|
||||
preview!: Node; // 顶部预览点,挂 Sprite
|
||||
|
||||
@property(Node)
|
||||
topSensor!: Node; // 仅用于场景绑定与可视化
|
||||
|
||||
@property(Node)
|
||||
walls!: Node; // Left/Right/Floor(用于取边界宽度,可留空)
|
||||
|
||||
@property(Label)
|
||||
scoreLabel!: Label;
|
||||
|
||||
@property(Label)
|
||||
bestLabel!: Label;
|
||||
|
||||
@property(Node)
|
||||
dropLine!: Node; // 危险红线(可选)
|
||||
|
||||
@property(AudioSource)
|
||||
sfx!: AudioSource; // 可选
|
||||
|
||||
// —— 可调参数 ——
|
||||
@property
|
||||
previewY = 560; // 预览/下落的 Y(根据分辨率调整)
|
||||
@property
|
||||
spawnCooldown = 0.2; // 连续投掷冷却
|
||||
@property
|
||||
previewClampPadding = 40; // 贴边留白
|
||||
@property
|
||||
randomStartMaxLevel = 5; // 随机初级水果最大等级
|
||||
|
||||
// —— 运行时状态 ——
|
||||
nextLevel = 1; // 将要投的等级
|
||||
queuedLevel = 1; // 下一颗的预告
|
||||
canDrop = true;
|
||||
isGameOver = false;
|
||||
dangerOn = false;
|
||||
score = 0;
|
||||
best = 0;
|
||||
|
||||
private pool = new NodePool();
|
||||
|
||||
onLoad() {
|
||||
// 把 SpriteFrame 注入配置(可选)
|
||||
for (let i = 0; i < FRUITS.length; i++) {
|
||||
FRUITS[i].sprite = this.fruitSprites[i] || FRUITS[i].sprite;
|
||||
}
|
||||
this.best = Number(sys.localStorage.getItem('best') || 0);
|
||||
if (this.bestLabel) this.bestLabel.string = `${this.best}`;
|
||||
if (this.scoreLabel) this.scoreLabel.string = `0`;
|
||||
}
|
||||
|
||||
start() {
|
||||
this.bindInput();
|
||||
this.reset();
|
||||
}
|
||||
|
||||
protected onDestroy() {
|
||||
this.unbindInput();
|
||||
}
|
||||
|
||||
bindInput() {
|
||||
input.on(Input.EventType.TOUCH_MOVE, this.onMove, this);
|
||||
input.on(Input.EventType.TOUCH_START, this.onMove, this); // 触摸开始也更新预览位置
|
||||
input.on(Input.EventType.TOUCH_END, this.onDrop, this);
|
||||
}
|
||||
|
||||
unbindInput() {
|
||||
input.off(Input.EventType.TOUCH_MOVE, this.onMove, this);
|
||||
input.off(Input.EventType.TOUCH_START, this.onMove, this);
|
||||
input.off(Input.EventType.TOUCH_END, this.onDrop, this);
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.isGameOver = false;
|
||||
this.canDrop = true;
|
||||
this.updateScore(0);
|
||||
|
||||
// 清场(放回对象池而非直接删)
|
||||
const children = [...this.fruitRoot.children];
|
||||
for (const c of children) this.recycleFruit(c);
|
||||
|
||||
// 初始化两个预报等级
|
||||
this.nextLevel = randomStartLevel(1, this.randomStartMaxLevel);
|
||||
this.queuedLevel = randomStartLevel(1, this.randomStartMaxLevel);
|
||||
|
||||
this.refreshPreview();
|
||||
this.setDanger(false);
|
||||
if (this.dropLine) this.dropLine.active = false;
|
||||
}
|
||||
|
||||
refreshPreview() {
|
||||
if (!this.preview) return;
|
||||
const sp = this.preview.getComponent(Sprite)!;
|
||||
const def = FRUITS[this.nextLevel - 1];
|
||||
sp.spriteFrame = def.sprite!;
|
||||
|
||||
const ui = this.preview.getComponent(UITransform)!;
|
||||
ui.setContentSize(def.radius * 2, def.radius * 2);
|
||||
|
||||
// 初始位置居中(仅设置 X,Y 固定在预览线)
|
||||
const p = this.preview.position;
|
||||
this.preview.active = true;
|
||||
this.preview.setPosition(v3(0, this.previewY, p.z));
|
||||
}
|
||||
|
||||
onMove(e: EventTouch) {
|
||||
if (this.isGameOver) return;
|
||||
const loc = e.getUILocation();
|
||||
// 将屏幕坐标转本地 Canvas 坐标(父节点是 Canvas)
|
||||
const ui = this.node.getComponent(UITransform)!;
|
||||
const local = ui.convertToNodeSpaceAR(new Vec3(loc.x, loc.y, 0));
|
||||
|
||||
// 约束 X
|
||||
const halfW = ui.contentSize.width / 2;
|
||||
const padding = this.previewClampPadding;
|
||||
const x = math.clamp(local.x, -halfW + padding, halfW - padding);
|
||||
|
||||
const p = this.preview.position;
|
||||
this.preview.setPosition(v3(x, this.previewY, p.z));
|
||||
}
|
||||
|
||||
onDrop() {
|
||||
if (this.isGameOver || !this.canDrop) return;
|
||||
this.canDrop = false;
|
||||
|
||||
const dropPos = this.preview.worldPosition;
|
||||
this.spawnFruit(this.nextLevel, dropPos);
|
||||
|
||||
// 队列前移 & 随机新队列
|
||||
this.nextLevel = this.queuedLevel;
|
||||
this.queuedLevel = randomStartLevel(1, this.randomStartMaxLevel);
|
||||
this.refreshPreview();
|
||||
|
||||
// 冷却
|
||||
this.scheduleOnce(() => (this.canDrop = true), this.spawnCooldown);
|
||||
}
|
||||
|
||||
spawnFruit(level: number, worldPos: Vec3, inheritVel?: Vec2) {
|
||||
const node = this.pool.size() > 0 ? this.pool.get()! : instantiate(this.fruitPrefab);
|
||||
node.parent = this.fruitRoot;
|
||||
node.active = true;
|
||||
|
||||
// 转换到 FruitRoot 的本地坐标
|
||||
const local = this.fruitRoot.getComponent(UITransform)!.convertToNodeSpaceAR(worldPos.clone());
|
||||
node.setPosition(local);
|
||||
node.setScale(1, 1, 1);
|
||||
node.setRotationFromEuler(0, 0, 0);
|
||||
|
||||
const fruit = node.getComponent(Fruit)!;
|
||||
const index = Math.max(0, Math.min(level - 1, FRUITS.length - 1));
|
||||
const sf = FRUITS[index].sprite!;
|
||||
fruit.init(level, sf, this);
|
||||
|
||||
// 让它有一点随机水平初速度,手感更“弹”
|
||||
const rb = node.getComponent(RigidBody2D)!;
|
||||
const vx = Math.random() * 200 - 100;
|
||||
rb.linearVelocity = inheritVel || new Vec2(vx, 0);
|
||||
|
||||
// 轻微缩放弹出效果
|
||||
node.setScale(0.9, 0.9, 1);
|
||||
tween(node).to(0.1, { scale: v3(1, 1, 1) }).start();
|
||||
|
||||
// 可选音效:下落
|
||||
// this.playSfx(0.1);
|
||||
|
||||
return fruit;
|
||||
}
|
||||
|
||||
// 被 Fruit 调用:把两颗同级水果合成到 nextLevel
|
||||
spawnMerged(nextLevel: number, worldMid: Vec3, a: Fruit, b: Fruit) {
|
||||
if (this.isGameOver) return;
|
||||
|
||||
// 读两者速度,合成后给一个小的向上速度,避免“坍塌”
|
||||
const va = a.getComponent(RigidBody2D)!.linearVelocity;
|
||||
const vb = b.getComponent(RigidBody2D)!.linearVelocity;
|
||||
const inherit = new Vec2((va.x + vb.x) * 0.25, Math.max(120, (va.y + vb.y) * 0.25));
|
||||
|
||||
// 回收/删除旧的
|
||||
this.recycleFruit(a.node);
|
||||
this.recycleFruit(b.node);
|
||||
|
||||
// 生成新的
|
||||
const f = this.spawnFruit(clampLevel(nextLevel), worldMid, inherit);
|
||||
|
||||
// 计分:按目标等级给分
|
||||
this.updateScore(this.score + FRUITS[clampLevel(nextLevel) - 1].score);
|
||||
|
||||
// 合成特效:放大闪烁
|
||||
const n = f.node;
|
||||
const s0 = n.scale.clone();
|
||||
tween(n)
|
||||
.to(0.06, { scale: v3(s0.x * 1.15, s0.y * 1.15, 1) })
|
||||
.to(0.08, { scale: v3(1, 1, 1) })
|
||||
.start();
|
||||
|
||||
// 音效:合成
|
||||
this.playSfx(0.2);
|
||||
}
|
||||
|
||||
recycleFruit(node: Node) {
|
||||
const fr = node.getComponent(Fruit);
|
||||
if (fr) fr.removed = true;
|
||||
node.removeFromParent();
|
||||
this.pool.put(node);
|
||||
}
|
||||
|
||||
updateScore(v: number) {
|
||||
this.score = v;
|
||||
if (this.scoreLabel) this.scoreLabel.string = `${this.score}`;
|
||||
if (this.score > this.best) {
|
||||
this.best = this.score;
|
||||
sys.localStorage.setItem('best', String(this.best));
|
||||
}
|
||||
if (this.bestLabel) this.bestLabel.string = `${this.best}`;
|
||||
}
|
||||
|
||||
setDanger(on: boolean) {
|
||||
this.dangerOn = on;
|
||||
if (this.dropLine) this.dropLine.active = on;
|
||||
}
|
||||
|
||||
onGameOver() {
|
||||
if (this.isGameOver) return;
|
||||
this.isGameOver = true;
|
||||
this.canDrop = false;
|
||||
this.setDanger(true);
|
||||
|
||||
// 所有水果轻微变暗/缩放(可选)
|
||||
this.fruitRoot.children.forEach((n) =>
|
||||
tween(n).to(0.2, { scale: v3(0.95, 0.95, 1) }).start()
|
||||
);
|
||||
|
||||
// 失败音
|
||||
this.playSfx(0.35);
|
||||
}
|
||||
|
||||
restart() {
|
||||
this.reset();
|
||||
this.canDrop = true;
|
||||
}
|
||||
|
||||
playSfx(vol = 0.2) {
|
||||
if (!this.sfx || !this.sfx.clip) return;
|
||||
try {
|
||||
this.sfx.volume = vol;
|
||||
this.sfx.playOneShot(this.sfx.clip, vol);
|
||||
} catch {}
|
||||
}
|
||||
}
|
||||
|
||||
9
assets/scripts/GameManager.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "28f0c3a2-ddde-4889-b568-9e2648bd280d",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
48
assets/scripts/TopSensor.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import { _decorator, Component, BoxCollider2D, Contact2DType, IPhysics2DContact, Node, Color } from 'cc';
|
||||
import { Fruit } from './Fruit';
|
||||
import { GameManager } from './GameManager';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('TopSensor')
|
||||
export class TopSensor extends Component {
|
||||
@property(GameManager)
|
||||
game!: GameManager;
|
||||
|
||||
@property
|
||||
holdSeconds = 2.0; // 触顶持续秒数
|
||||
|
||||
private touching = new Map<Node, number>(); // node -> enterTime
|
||||
|
||||
onEnable() {
|
||||
const col = this.getComponent(BoxCollider2D)!;
|
||||
col.sensor = true;
|
||||
col.on(Contact2DType.BEGIN_CONTACT, this.onBegin, this);
|
||||
col.on(Contact2DType.END_CONTACT, this.onEnd, this);
|
||||
}
|
||||
onDisable() {
|
||||
const col = this.getComponent(BoxCollider2D)!;
|
||||
col.off(Contact2DType.BEGIN_CONTACT, this.onBegin, this);
|
||||
col.off(Contact2DType.END_CONTACT, this.onEnd, this);
|
||||
}
|
||||
|
||||
private onBegin(_self: BoxCollider2D, other: any, _c: IPhysics2DContact | null) {
|
||||
const f = (other.node as Node).getComponent(Fruit);
|
||||
if (f) this.touching.set(other.node, performance.now() / 1000);
|
||||
}
|
||||
private onEnd(_self: BoxCollider2D, other: any) {
|
||||
this.touching.delete(other.node);
|
||||
}
|
||||
|
||||
update() {
|
||||
if (!this.game || this.game.isGameOver) return;
|
||||
const now = performance.now() / 1000;
|
||||
for (const [node, t] of this.touching) {
|
||||
if (now - t >= this.holdSeconds) {
|
||||
this.game.onGameOver();
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 可选:把状态交给 GameManager 显示红线闪烁
|
||||
this.game.setDanger(this.touching.size > 0);
|
||||
}
|
||||
}
|
||||
9
assets/scripts/TopSensor.ts.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "945e3d70-b62b-4d2b-a9f0-a595ef1021b6",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
9
assets/ui.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "a26619bb-0a18-4a4c-861b-5c3da6e9c065",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
BIN
assets/ui/.DS_Store
vendored
Normal file
BIN
assets/ui/Music.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
134
assets/ui/Music.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "66a951bb-1d71-4b2c-8eb6-fd42cc5c0413",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "66a951bb-1d71-4b2c-8eb6-fd42cc5c0413@6c48a",
|
||||
"displayName": "Music",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "66a951bb-1d71-4b2c-8eb6-fd42cc5c0413",
|
||||
"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": "66a951bb-1d71-4b2c-8eb6-fd42cc5c0413@f9941",
|
||||
"displayName": "Music",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 45,
|
||||
"trimY": 25,
|
||||
"width": 110,
|
||||
"height": 150,
|
||||
"rawWidth": 200,
|
||||
"rawHeight": 200,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-55,
|
||||
-75,
|
||||
0,
|
||||
55,
|
||||
-75,
|
||||
0,
|
||||
-55,
|
||||
75,
|
||||
0,
|
||||
55,
|
||||
75,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
45,
|
||||
175,
|
||||
155,
|
||||
175,
|
||||
45,
|
||||
25,
|
||||
155,
|
||||
25
|
||||
],
|
||||
"nuv": [
|
||||
0.225,
|
||||
0.125,
|
||||
0.775,
|
||||
0.125,
|
||||
0.225,
|
||||
0.875,
|
||||
0.775,
|
||||
0.875
|
||||
],
|
||||
"minPos": [
|
||||
-55,
|
||||
-75,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
55,
|
||||
75,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "66a951bb-1d71-4b2c-8eb6-fd42cc5c0413@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "66a951bb-1d71-4b2c-8eb6-fd42cc5c0413@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/ad.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
134
assets/ui/ad.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "0b92f301-47bc-4438-9dc6-6f3291c5f638",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "0b92f301-47bc-4438-9dc6-6f3291c5f638@6c48a",
|
||||
"displayName": "ad",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "0b92f301-47bc-4438-9dc6-6f3291c5f638",
|
||||
"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": "0b92f301-47bc-4438-9dc6-6f3291c5f638@f9941",
|
||||
"displayName": "ad",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -2,
|
||||
"offsetY": 0,
|
||||
"trimX": 35,
|
||||
"trimY": 39,
|
||||
"width": 182,
|
||||
"height": 178,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-91,
|
||||
-89,
|
||||
0,
|
||||
91,
|
||||
-89,
|
||||
0,
|
||||
-91,
|
||||
89,
|
||||
0,
|
||||
91,
|
||||
89,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
35,
|
||||
217,
|
||||
217,
|
||||
217,
|
||||
35,
|
||||
39,
|
||||
217,
|
||||
39
|
||||
],
|
||||
"nuv": [
|
||||
0.13671875,
|
||||
0.15234375,
|
||||
0.84765625,
|
||||
0.15234375,
|
||||
0.13671875,
|
||||
0.84765625,
|
||||
0.84765625,
|
||||
0.84765625
|
||||
],
|
||||
"minPos": [
|
||||
-91,
|
||||
-89,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
91,
|
||||
89,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "0b92f301-47bc-4438-9dc6-6f3291c5f638@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "0b92f301-47bc-4438-9dc6-6f3291c5f638@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/bg.jpg
Normal file
|
After Width: | Height: | Size: 64 KiB |
134
assets/ui/bg.jpg.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "e1c0688e-a6d3-48b7-8a1b-1f3db5b2c438",
|
||||
"files": [
|
||||
".jpg",
|
||||
".json"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "e1c0688e-a6d3-48b7-8a1b-1f3db5b2c438@6c48a",
|
||||
"displayName": "bg",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "e1c0688e-a6d3-48b7-8a1b-1f3db5b2c438",
|
||||
"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": "e1c0688e-a6d3-48b7-8a1b-1f3db5b2c438@f9941",
|
||||
"displayName": "bg",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 582,
|
||||
"height": 876,
|
||||
"rawWidth": 582,
|
||||
"rawHeight": 876,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-291,
|
||||
-438,
|
||||
0,
|
||||
291,
|
||||
-438,
|
||||
0,
|
||||
-291,
|
||||
438,
|
||||
0,
|
||||
291,
|
||||
438,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
876,
|
||||
582,
|
||||
876,
|
||||
0,
|
||||
0,
|
||||
582,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-291,
|
||||
-438,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
291,
|
||||
438,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "e1c0688e-a6d3-48b7-8a1b-1f3db5b2c438@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": false,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "e1c0688e-a6d3-48b7-8a1b-1f3db5b2c438@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/bg_block.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
134
assets/ui/bg_block.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "38593591-e719-4f26-8a25-db4e021d8f3f",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "38593591-e719-4f26-8a25-db4e021d8f3f@6c48a",
|
||||
"displayName": "bg_block",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "38593591-e719-4f26-8a25-db4e021d8f3f",
|
||||
"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": "38593591-e719-4f26-8a25-db4e021d8f3f@f9941",
|
||||
"displayName": "bg_block",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 198,
|
||||
"height": 198,
|
||||
"rawWidth": 198,
|
||||
"rawHeight": 198,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-99,
|
||||
-99,
|
||||
0,
|
||||
99,
|
||||
-99,
|
||||
0,
|
||||
-99,
|
||||
99,
|
||||
0,
|
||||
99,
|
||||
99,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
198,
|
||||
198,
|
||||
198,
|
||||
0,
|
||||
0,
|
||||
198,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-99,
|
||||
-99,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
99,
|
||||
99,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "38593591-e719-4f26-8a25-db4e021d8f3f@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "38593591-e719-4f26-8a25-db4e021d8f3f@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/buttonStart.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
134
assets/ui/buttonStart.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "b064e3fd-a28b-4f0e-85fe-a19c402cd8dc",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "b064e3fd-a28b-4f0e-85fe-a19c402cd8dc@6c48a",
|
||||
"displayName": "buttonStart",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "b064e3fd-a28b-4f0e-85fe-a19c402cd8dc",
|
||||
"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": "b064e3fd-a28b-4f0e-85fe-a19c402cd8dc@f9941",
|
||||
"displayName": "buttonStart",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 6,
|
||||
"offsetY": -1.5,
|
||||
"trimX": 12,
|
||||
"trimY": 15,
|
||||
"width": 388,
|
||||
"height": 293,
|
||||
"rawWidth": 400,
|
||||
"rawHeight": 320,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-194,
|
||||
-146.5,
|
||||
0,
|
||||
194,
|
||||
-146.5,
|
||||
0,
|
||||
-194,
|
||||
146.5,
|
||||
0,
|
||||
194,
|
||||
146.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
12,
|
||||
305,
|
||||
400,
|
||||
305,
|
||||
12,
|
||||
12,
|
||||
400,
|
||||
12
|
||||
],
|
||||
"nuv": [
|
||||
0.03,
|
||||
0.0375,
|
||||
1,
|
||||
0.0375,
|
||||
0.03,
|
||||
0.953125,
|
||||
1,
|
||||
0.953125
|
||||
],
|
||||
"minPos": [
|
||||
-194,
|
||||
-146.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
194,
|
||||
146.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "b064e3fd-a28b-4f0e-85fe-a19c402cd8dc@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "b064e3fd-a28b-4f0e-85fe-a19c402cd8dc@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/hand.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
134
assets/ui/hand.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "12833244-7bd0-4417-b298-ccd19e59b3e6",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "12833244-7bd0-4417-b298-ccd19e59b3e6@6c48a",
|
||||
"displayName": "hand",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "12833244-7bd0-4417-b298-ccd19e59b3e6",
|
||||
"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": "12833244-7bd0-4417-b298-ccd19e59b3e6@f9941",
|
||||
"displayName": "hand",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 28,
|
||||
"trimY": 0,
|
||||
"width": 200,
|
||||
"height": 256,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-100,
|
||||
-128,
|
||||
0,
|
||||
100,
|
||||
-128,
|
||||
0,
|
||||
-100,
|
||||
128,
|
||||
0,
|
||||
100,
|
||||
128,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
28,
|
||||
256,
|
||||
228,
|
||||
256,
|
||||
28,
|
||||
0,
|
||||
228,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0.109375,
|
||||
0,
|
||||
0.890625,
|
||||
0,
|
||||
0.109375,
|
||||
1,
|
||||
0.890625,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-100,
|
||||
-128,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
100,
|
||||
128,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "12833244-7bd0-4417-b298-ccd19e59b3e6@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "12833244-7bd0-4417-b298-ccd19e59b3e6@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/hint.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
134
assets/ui/hint.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "2cfb061e-ef65-42d7-868d-d1232daf0ddb",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "2cfb061e-ef65-42d7-868d-d1232daf0ddb@6c48a",
|
||||
"displayName": "hint",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "2cfb061e-ef65-42d7-868d-d1232daf0ddb",
|
||||
"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": "2cfb061e-ef65-42d7-868d-d1232daf0ddb@f9941",
|
||||
"displayName": "hint",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-128,
|
||||
-128,
|
||||
0,
|
||||
128,
|
||||
-128,
|
||||
0,
|
||||
-128,
|
||||
128,
|
||||
0,
|
||||
128,
|
||||
128,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
256,
|
||||
256,
|
||||
256,
|
||||
0,
|
||||
0,
|
||||
256,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-128,
|
||||
-128,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
128,
|
||||
128,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "2cfb061e-ef65-42d7-868d-d1232daf0ddb@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "2cfb061e-ef65-42d7-868d-d1232daf0ddb@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/laba.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
134
assets/ui/laba.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "572b4278-e7c1-457c-a1aa-394095659678",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "572b4278-e7c1-457c-a1aa-394095659678@6c48a",
|
||||
"displayName": "laba",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "572b4278-e7c1-457c-a1aa-394095659678",
|
||||
"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": "572b4278-e7c1-457c-a1aa-394095659678@f9941",
|
||||
"displayName": "laba",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -0.5,
|
||||
"offsetY": 2,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 222,
|
||||
"height": 196,
|
||||
"rawWidth": 223,
|
||||
"rawHeight": 200,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-111,
|
||||
-98,
|
||||
0,
|
||||
111,
|
||||
-98,
|
||||
0,
|
||||
-111,
|
||||
98,
|
||||
0,
|
||||
111,
|
||||
98,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
200,
|
||||
222,
|
||||
200,
|
||||
0,
|
||||
4,
|
||||
222,
|
||||
4
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0.02,
|
||||
0.9955156950672646,
|
||||
0.02,
|
||||
0,
|
||||
1,
|
||||
0.9955156950672646,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-111,
|
||||
-98,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
111,
|
||||
98,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "572b4278-e7c1-457c-a1aa-394095659678@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "572b4278-e7c1-457c-a1aa-394095659678@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/land.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
134
assets/ui/land.jpg.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "9336428b-125f-4890-9d06-491a915a129d",
|
||||
"files": [
|
||||
".jpg",
|
||||
".json"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "9336428b-125f-4890-9d06-491a915a129d@6c48a",
|
||||
"displayName": "land",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "9336428b-125f-4890-9d06-491a915a129d",
|
||||
"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": "9336428b-125f-4890-9d06-491a915a129d@f9941",
|
||||
"displayName": "land",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 268,
|
||||
"height": 72,
|
||||
"rawWidth": 268,
|
||||
"rawHeight": 72,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-134,
|
||||
-36,
|
||||
0,
|
||||
134,
|
||||
-36,
|
||||
0,
|
||||
-134,
|
||||
36,
|
||||
0,
|
||||
134,
|
||||
36,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
72,
|
||||
268,
|
||||
72,
|
||||
0,
|
||||
0,
|
||||
268,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-134,
|
||||
-36,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
134,
|
||||
36,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "9336428b-125f-4890-9d06-491a915a129d@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": false,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "9336428b-125f-4890-9d06-491a915a129d@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/line.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
134
assets/ui/line.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "91853734-c4cd-4abc-90f8-e2eb3e7dc26f",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "91853734-c4cd-4abc-90f8-e2eb3e7dc26f@6c48a",
|
||||
"displayName": "line",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "91853734-c4cd-4abc-90f8-e2eb3e7dc26f",
|
||||
"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": "91853734-c4cd-4abc-90f8-e2eb3e7dc26f@f9941",
|
||||
"displayName": "line",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 13,
|
||||
"trimY": 117,
|
||||
"width": 230,
|
||||
"height": 22,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-115,
|
||||
-11,
|
||||
0,
|
||||
115,
|
||||
-11,
|
||||
0,
|
||||
-115,
|
||||
11,
|
||||
0,
|
||||
115,
|
||||
11,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
13,
|
||||
139,
|
||||
243,
|
||||
139,
|
||||
13,
|
||||
117,
|
||||
243,
|
||||
117
|
||||
],
|
||||
"nuv": [
|
||||
0.05078125,
|
||||
0.45703125,
|
||||
0.94921875,
|
||||
0.45703125,
|
||||
0.05078125,
|
||||
0.54296875,
|
||||
0.94921875,
|
||||
0.54296875
|
||||
],
|
||||
"minPos": [
|
||||
-115,
|
||||
-11,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
115,
|
||||
11,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "91853734-c4cd-4abc-90f8-e2eb3e7dc26f@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "91853734-c4cd-4abc-90f8-e2eb3e7dc26f@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/logo.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
134
assets/ui/logo.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "46e4ca9d-4861-4169-b3bf-b69db7f5dbcb",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "46e4ca9d-4861-4169-b3bf-b69db7f5dbcb@6c48a",
|
||||
"displayName": "logo",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "46e4ca9d-4861-4169-b3bf-b69db7f5dbcb",
|
||||
"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": "46e4ca9d-4861-4169-b3bf-b69db7f5dbcb@f9941",
|
||||
"displayName": "logo",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 4,
|
||||
"offsetY": 5.5,
|
||||
"trimX": 68,
|
||||
"trimY": 155,
|
||||
"width": 449,
|
||||
"height": 112,
|
||||
"rawWidth": 577,
|
||||
"rawHeight": 433,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-224.5,
|
||||
-56,
|
||||
0,
|
||||
224.5,
|
||||
-56,
|
||||
0,
|
||||
-224.5,
|
||||
56,
|
||||
0,
|
||||
224.5,
|
||||
56,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
68,
|
||||
278,
|
||||
517,
|
||||
278,
|
||||
68,
|
||||
166,
|
||||
517,
|
||||
166
|
||||
],
|
||||
"nuv": [
|
||||
0.11785095320623917,
|
||||
0.3833718244803695,
|
||||
0.8960138648180243,
|
||||
0.3833718244803695,
|
||||
0.11785095320623917,
|
||||
0.6420323325635104,
|
||||
0.8960138648180243,
|
||||
0.6420323325635104
|
||||
],
|
||||
"minPos": [
|
||||
-224.5,
|
||||
-56,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
224.5,
|
||||
56,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "46e4ca9d-4861-4169-b3bf-b69db7f5dbcb@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "46e4ca9d-4861-4169-b3bf-b69db7f5dbcb@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/magic.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
134
assets/ui/magic.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "eebfe86c-d413-4122-a221-bf14aebdb8f0",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "eebfe86c-d413-4122-a221-bf14aebdb8f0@6c48a",
|
||||
"displayName": "magic",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "eebfe86c-d413-4122-a221-bf14aebdb8f0",
|
||||
"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": "eebfe86c-d413-4122-a221-bf14aebdb8f0@f9941",
|
||||
"displayName": "magic",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 1.5,
|
||||
"offsetY": -1.5,
|
||||
"trimX": 19,
|
||||
"trimY": 19,
|
||||
"width": 221,
|
||||
"height": 221,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-110.5,
|
||||
-110.5,
|
||||
0,
|
||||
110.5,
|
||||
-110.5,
|
||||
0,
|
||||
-110.5,
|
||||
110.5,
|
||||
0,
|
||||
110.5,
|
||||
110.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
19,
|
||||
237,
|
||||
240,
|
||||
237,
|
||||
19,
|
||||
16,
|
||||
240,
|
||||
16
|
||||
],
|
||||
"nuv": [
|
||||
0.07421875,
|
||||
0.0625,
|
||||
0.9375,
|
||||
0.0625,
|
||||
0.07421875,
|
||||
0.92578125,
|
||||
0.9375,
|
||||
0.92578125
|
||||
],
|
||||
"minPos": [
|
||||
-110.5,
|
||||
-110.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
110.5,
|
||||
110.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "eebfe86c-d413-4122-a221-bf14aebdb8f0@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "eebfe86c-d413-4122-a221-bf14aebdb8f0@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/mark.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
134
assets/ui/mark.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "05961dc4-6a8d-47b6-b131-7560983e85ea",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "05961dc4-6a8d-47b6-b131-7560983e85ea@6c48a",
|
||||
"displayName": "mark",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "05961dc4-6a8d-47b6-b131-7560983e85ea",
|
||||
"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": "05961dc4-6a8d-47b6-b131-7560983e85ea@f9941",
|
||||
"displayName": "mark",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 256,
|
||||
"height": 256,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-128,
|
||||
-128,
|
||||
0,
|
||||
128,
|
||||
-128,
|
||||
0,
|
||||
-128,
|
||||
128,
|
||||
0,
|
||||
128,
|
||||
128,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
256,
|
||||
256,
|
||||
256,
|
||||
0,
|
||||
0,
|
||||
256,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-128,
|
||||
-128,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
128,
|
||||
128,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "05961dc4-6a8d-47b6-b131-7560983e85ea@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "05961dc4-6a8d-47b6-b131-7560983e85ea@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/setting.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
134
assets/ui/setting.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "bd10f4ab-f62f-4b21-8096-f5610c68a014",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "bd10f4ab-f62f-4b21-8096-f5610c68a014@6c48a",
|
||||
"displayName": "setting",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "bd10f4ab-f62f-4b21-8096-f5610c68a014",
|
||||
"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": "bd10f4ab-f62f-4b21-8096-f5610c68a014@f9941",
|
||||
"displayName": "setting",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -15,
|
||||
"offsetY": -8,
|
||||
"trimX": 24,
|
||||
"trimY": 39,
|
||||
"width": 100,
|
||||
"height": 104,
|
||||
"rawWidth": 178,
|
||||
"rawHeight": 166,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-50,
|
||||
-52,
|
||||
0,
|
||||
50,
|
||||
-52,
|
||||
0,
|
||||
-50,
|
||||
52,
|
||||
0,
|
||||
50,
|
||||
52,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
24,
|
||||
127,
|
||||
124,
|
||||
127,
|
||||
24,
|
||||
23,
|
||||
124,
|
||||
23
|
||||
],
|
||||
"nuv": [
|
||||
0.1348314606741573,
|
||||
0.13855421686746988,
|
||||
0.6966292134831461,
|
||||
0.13855421686746988,
|
||||
0.1348314606741573,
|
||||
0.7650602409638554,
|
||||
0.6966292134831461,
|
||||
0.7650602409638554
|
||||
],
|
||||
"minPos": [
|
||||
-50,
|
||||
-52,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
50,
|
||||
52,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "bd10f4ab-f62f-4b21-8096-f5610c68a014@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "bd10f4ab-f62f-4b21-8096-f5610c68a014@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/settingTab.jpg
Normal file
|
After Width: | Height: | Size: 36 KiB |
134
assets/ui/settingTab.jpg.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "8ab0eec0-991c-4a5d-9341-ffd49149192b",
|
||||
"files": [
|
||||
".jpg",
|
||||
".json"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "8ab0eec0-991c-4a5d-9341-ffd49149192b@6c48a",
|
||||
"displayName": "settingTab",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "8ab0eec0-991c-4a5d-9341-ffd49149192b",
|
||||
"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": "8ab0eec0-991c-4a5d-9341-ffd49149192b@f9941",
|
||||
"displayName": "settingTab",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 864,
|
||||
"height": 1536,
|
||||
"rawWidth": 864,
|
||||
"rawHeight": 1536,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-432,
|
||||
-768,
|
||||
0,
|
||||
432,
|
||||
-768,
|
||||
0,
|
||||
-432,
|
||||
768,
|
||||
0,
|
||||
432,
|
||||
768,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
1536,
|
||||
864,
|
||||
1536,
|
||||
0,
|
||||
0,
|
||||
864,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-432,
|
||||
-768,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
432,
|
||||
768,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "8ab0eec0-991c-4a5d-9341-ffd49149192b@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": false,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "8ab0eec0-991c-4a5d-9341-ffd49149192b@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/ui/shuffle.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
134
assets/ui/shuffle.png.meta
Normal file
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "1f579682-24ae-426e-840b-316151aa307c",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "1f579682-24ae-426e-840b-316151aa307c@6c48a",
|
||||
"displayName": "shuffle",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "1f579682-24ae-426e-840b-316151aa307c",
|
||||
"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": "1f579682-24ae-426e-840b-316151aa307c@f9941",
|
||||
"displayName": "shuffle",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": -0.5,
|
||||
"offsetY": 0,
|
||||
"trimX": 7,
|
||||
"trimY": 8,
|
||||
"width": 241,
|
||||
"height": 240,
|
||||
"rawWidth": 256,
|
||||
"rawHeight": 256,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-120.5,
|
||||
-120,
|
||||
0,
|
||||
120.5,
|
||||
-120,
|
||||
0,
|
||||
-120.5,
|
||||
120,
|
||||
0,
|
||||
120.5,
|
||||
120,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
7,
|
||||
248,
|
||||
248,
|
||||
248,
|
||||
7,
|
||||
8,
|
||||
248,
|
||||
8
|
||||
],
|
||||
"nuv": [
|
||||
0.02734375,
|
||||
0.03125,
|
||||
0.96875,
|
||||
0.03125,
|
||||
0.02734375,
|
||||
0.96875,
|
||||
0.96875,
|
||||
0.96875
|
||||
],
|
||||
"minPos": [
|
||||
-120.5,
|
||||
-120,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
120.5,
|
||||
120,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "1f579682-24ae-426e-840b-316151aa307c@6c48a",
|
||||
"atlasUuid": "",
|
||||
"trimType": "auto"
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "1f579682-24ae-426e-840b-316151aa307c@6c48a"
|
||||
}
|
||||
}
|
||||