*.编写黑块逻辑

(*.具有状态in、all、out
(1.当被呼出,执行呼出事件
((1.分type执行“入”的Tween动画
((2.入动画结束后,修改自身状态至all
((3.等待一定的加载时间后,修改自身状态为out,并开始出动画
((4.出动画结束后,找到“开幕演出”游戏物体,找到它的Stage并触发
((5.完成善后工作,将块移回原来的位置

1.制作转场
(1.触发转移
(2.关闭操作地图
(4.令玩家一直向右移动
(3.呼出黑块
(4.等待、直到黑块进入全覆盖状态
(5.根据字典经行场景转移
(6.黑块内部协程级时结束后,揭开黑幕
(7.揭开动画结束后
(8.找到“开幕演出”游戏物体,找到它的Stage并触发
This commit is contained in:
Roman 2021-12-22 11:17:21 +08:00
parent 5b28c9a977
commit f936d7f799
33 changed files with 366 additions and 171 deletions

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e00e6f90ab8233e46a41c5e33917c642
timeCreated: 1585839223
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 6ecbfd0a046659943a69328c98ff0442
timeCreated: 1520956522
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: c0a0a980c9ba86345bc15411db88d34f
timeCreated: 1585839223
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: a9d68dd8913f05d4d9ce75e7b40c6044
timeCreated: 1575902011
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 191365b4aece81443875ae2bb7243b55
timeCreated: 1539791396
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 9a5e61a8b3421b944863d0946e32da0a
timeCreated: 1531836588
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 4c816894a3147d343891060451241bfe
timeCreated: 1520621352
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: f86c907c9d9e85846835ba31e656bd60
timeCreated: 1550245105
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 4dc1afbcc68875c4780502f5e6b80158
timeCreated: 1540292246
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 5d615bf612f33364e96fb9fd2959ae9c
timeCreated: 1555497476
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: f51b7b861facbc3429fcc5f1f6f91183
timeCreated: 1557327368
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e137dba02f4d0f542ab09dcedea27314
timeCreated: 1583243128
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 38b4bfd7c725505409f8f4d944961db4
timeCreated: 1622209077
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3aeabe705b70b154ea99893f91351100
timeCreated: 1607957446
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b53d2f3b156ff104f90d4d7693d769c8
timeCreated: 1540215707
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3e8eabcfae1e5aa4397de89fedeb48db
timeCreated: 1555497476
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: f54faaaf4faf8784183ede7f87dfeb23
timeCreated: 1608224299
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 57fcea0ed8b5eb347923c4c21fa31b57
timeCreated: 1569420442
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2d7fe4f7c19e90f41b893bc01fc17230
guid: 81dbcde0f90df4e9ba9ca2794490e57a
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: dff05fea7446d7b4e9029bfab77455d2
timeCreated: 1559836117
licenseType: Store
guid: fd02c799f3f5c4c83b2fc26c105a3821
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: d1c0b77896049554fa4b635531caf741
timeCreated: 1533059192
licenseType: Store
guid: f597f19f656ba56eae4f6a3a7cc528f4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +1,7 @@
fileFormatVersion: 2
guid: f7c4e22642de60d448f4e4809190f7b1
timeCreated: 1559837332
licenseType: Store
guid: 48e08dc33330d11e9d4a1b246c52e4f6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ed09910c0094cb27be8f3ca264680da3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: cc355dd4cf1e6173beaeb22c2858cbe1
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1916,6 +1916,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
next: {fileID: 0}
count: 1
blcakHori: {fileID: 1216643878}
blcakVert: {fileID: 1065391361}
transType: 0
--- !u!61 &756778376
BoxCollider2D:
m_ObjectHideFlags: 0
@ -2793,6 +2796,96 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1065391357
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1065391358}
- component: {fileID: 1065391360}
- component: {fileID: 1065391359}
- component: {fileID: 1065391361}
m_Layer: 5
m_Name: "\u8F6C\u573A\u5757\uFF08\u7AD6\u76F4"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1065391358
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065391357}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1861416861}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -2722}
m_SizeDelta: {x: 2187.2, y: 4232}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1065391359
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065391357}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 332a47e51b72e1841b971000674fdd9c, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1065391360
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065391357}
m_CullTransparentMesh: 1
--- !u!114 &1065391361
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1065391357}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dbef4b43e806af744831d0ad01e01f0c, type: 3}
m_Name:
m_EditorClassIdentifier:
state: 0
tyepe: 1
--- !u!1 &1067391271
GameObject:
m_ObjectHideFlags: 0
@ -3380,6 +3473,7 @@ GameObject:
- component: {fileID: 1216643875}
- component: {fileID: 1216643877}
- component: {fileID: 1216643876}
- component: {fileID: 1216643878}
m_Layer: 5
m_Name: "\u8F6C\u573A\u5757\uFF08\u6C34\u5E73"
m_TagString: Untagged
@ -3403,7 +3497,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 4265, y: -6}
m_AnchoredPosition: {x: 3320, y: -6}
m_SizeDelta: {x: 4492, y: 1331}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1216643876
@ -3426,7 +3520,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3dbdaef7faf6fe647bf3c8ee9a4b1a5e, type: 3}
m_Sprite: {fileID: 21300000, guid: 65a646e574b6c7341b6c5d30745c95ff, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
@ -3444,6 +3538,20 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216643874}
m_CullTransparentMesh: 1
--- !u!114 &1216643878
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216643874}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dbef4b43e806af744831d0ad01e01f0c, type: 3}
m_Name:
m_EditorClassIdentifier:
state: 0
tyepe: 0
--- !u!1 &1242919021
GameObject:
m_ObjectHideFlags: 0
@ -4770,6 +4878,7 @@ RectTransform:
- {fileID: 1870225443}
- {fileID: 1484156671}
- {fileID: 1216643875}
- {fileID: 1065391358}
m_Father: {fileID: 934701229}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,94 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using Sirenix.OdinInspector;
using UnityEngine.InputSystem;
/// <summary>
/// 控制转场黑块
/// </summary>
public class Blcak : MonoBehaviour
{
public enum State{, , , }
/// <summary>
/// 黑块的目前运行状态
/// </summary>
[Header("状态")][ReadOnly]
public State state;
public enum Type{, }
[Header("类型")]
public Type tyepe;
private RectTransform rectTransform;
void Start(){
Init();
}
private void Init(){
rectTransform = GetComponent<RectTransform>();
state = State.;
}
public void OnCall(Type type){
StartCoroutine(Perform(type));
}
private IEnumerator Perform(Type type){
//修改状态
state = State.;
//执行“入”的Tween动画
if(type == Type.){
Tweener tweener = rectTransform.DOLocalMoveX(
0,
1f
).OnStepComplete(
() => {
state = State.;
}
);
}
if(type == Type.){
Tweener tweener = rectTransform.DOLocalMoveY(
0,
1f
).OnStepComplete(
() => {
state = State.;
}
);
}
yield return new WaitForSeconds(2f);
//执行“出”的Tween动画
state = State.;
if(type == Type.){
Tweener tweener = rectTransform.DOLocalMoveX(
-3358,
1f
).OnStepComplete(
() =>{
//恢复黑块位置
rectTransform.localPosition = new Vector3(
3320,-6,0
);
}
);
}
if(type == Type.){
Tweener tweener = rectTransform.DOLocalMoveY(
2723,
1f
).OnStepComplete(
() =>{
//恢复黑块位置
rectTransform.localPosition = new Vector3(
0,-2722,0
);
}
);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: dbef4b43e806af744831d0ad01e01f0c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -4,6 +4,7 @@ using UnityEngine;
using DG.Tweening;
using Sirenix.OdinInspector;
using UnityEngine.SceneManagement;
using UnityEngine.InputSystem;
/// <summary>
/// 直译转移,控制玩家在关卡间的切换
@ -13,13 +14,20 @@ public class Transfer : EntryTrigger
/// <summary>
/// 对应进度和场景名称
/// </summary>
[DictionaryDrawerSettings][ShowInInspector]
[DictionaryDrawerSettings][ShowInInspector][ReadOnly]
public static Dictionary<MyPlayer.Progress, string> proToScene;
private MyPlayer player;
[Header("水平黑块")]
public Blcak blcakHori;
[Header("竖直黑块")]
public Blcak blcakVert;
public Blcak.Type transType;
void Start(){
proToScene = new Dictionary<MyPlayer.Progress, string>();
//将场景连成线
proToScene.Add(MyPlayer.Progress.,"FO");
proToScene.Add(MyPlayer.Progress.,"Fo");
proToScene.Add(MyPlayer.Progress.Fo,"DiZangStageTest");
proToScene.Add(MyPlayer.Progress.,"cun");
proToScene.Add(MyPlayer.Progress.,"Yi");
@ -29,9 +37,19 @@ public class Transfer : EntryTrigger
proToScene.Add(MyPlayer.Progress.Ji,"YiSaStageTest");
proToScene.Add(MyPlayer.Progress.,"cun");
proToScene.Add(MyPlayer.Progress.,"cun");
//找到必要的游戏物体和组件
player = FindObjectOfType<MyPlayer>();
}
public override void OnCall(){
SceneManager.LoadScene(proToScene[MyPlayer.progress]);
//关闭操作地图
player.GetComponent<PlayerInput>().SwitchCurrentActionMap("NullMap");
//令玩家一直向右移动
player.inputDir = 1;
//呼出黑块
if(transType == Blcak.Type.) blcakHori.OnCall(transType);
if(transType == Blcak.Type.) blcakVert.OnCall(transType);
//
//SceneManager.LoadScene(proToScene[MyPlayer.progress]);
}
}

View File

Before

Width:  |  Height:  |  Size: 402 KiB

After

Width:  |  Height:  |  Size: 402 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 3dbdaef7faf6fe647bf3c8ee9a4b1a5e
guid: 65a646e574b6c7341b6c5d30745c95ff
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

View File

@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: 332a47e51b72e1841b971000674fdd9c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -12,29 +12,29 @@ EditorUserSettings:
value: 224247031146467d18000b37030647111b07142f3f67053f233f1821f1e12031ede979cae83429392b11ee280d310f71e704001fef
flags: 0
RecentlyUsedScenePath-2:
value: 22424703114646680e0b0227036c5c0518590d24253c3f
flags: 0
RecentlyUsedScenePath-3:
value: 22424703114646680e0b0227036c7519580216233831
flags: 0
RecentlyUsedScenePath-4:
RecentlyUsedScenePath-3:
value: 22424703114646680e0b0227036c4b150503563f22213229
flags: 0
RecentlyUsedScenePath-5:
RecentlyUsedScenePath-4:
value: 22424703114646680e0b0227036c791f580216233831
flags: 0
RecentlyUsedScenePath-6:
value: 22424703114646680e0b0227036c661925162b3e2d2f2304283a097df7ee3d2cfb
flags: 0
RecentlyUsedScenePath-7:
RecentlyUsedScenePath-5:
value: 22424703114646680e0b0227036c6619580216233831
flags: 0
RecentlyUsedScenePath-8:
RecentlyUsedScenePath-6:
value: 22424703114646680e0b0227036c7b192c16162d1f3c2737281d1820f6ae2136ebf32f
flags: 0
RecentlyUsedScenePath-9:
RecentlyUsedScenePath-7:
value: 22424703114646680e0b0227036c6b153a021713251b32312a2c2936f1f47a2decee22f0
flags: 0
RecentlyUsedScenePath-8:
value: 22424703114646680e0b0227036c661925162b3e2d2f2304283a097df7ee3d2cfb
flags: 0
RecentlyUsedScenePath-9:
value: 22424703114646680e0b0227036c5c0518590d24253c3f
flags: 0
UnityEditor.ShaderGraph.Blackboard:
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
flags: 0