任务:搭建前置关卡,编写演出逻辑

1.流程化游戏
(1.制作转移器,内含字典,根据玩家的静态属性“阶段”来决定到转移点后将会移动到哪一个场景
(2.制作转场器,水平方向从左到右

下班
This commit is contained in:
Roman 2021-12-21 00:45:50 +08:00
parent 74f926815e
commit e7dcdec1d9
6 changed files with 300 additions and 4 deletions

View File

@ -1870,6 +1870,78 @@ Transform:
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 7 m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &756778373
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 756778374}
- component: {fileID: 756778375}
- component: {fileID: 756778376}
m_Layer: 0
m_Name: "\u8F6C\u79FB"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &756778374
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 756778373}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -8.98, y: 0.58, z: -2.4806843}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &756778375
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 756778373}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1a22a32dd2b154641919700ff0693743, type: 3}
m_Name:
m_EditorClassIdentifier:
next: {fileID: 0}
count: 1
--- !u!61 &756778376
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 756778373}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!1 &784263179 --- !u!1 &784263179
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3297,6 +3369,81 @@ Transform:
m_Father: {fileID: 718787456} m_Father: {fileID: 718787456}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1216643874
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1216643875}
- component: {fileID: 1216643877}
- component: {fileID: 1216643876}
m_Layer: 5
m_Name: "\u8F6C\u573A\u5757\uFF08\u6C34\u5E73"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1216643875
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216643874}
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: 5
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_SizeDelta: {x: 4492, y: 1331}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1216643876
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: 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: 3dbdaef7faf6fe647bf3c8ee9a4b1a5e, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1216643877
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1216643874}
m_CullTransparentMesh: 1
--- !u!1 &1242919021 --- !u!1 &1242919021
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -4622,6 +4769,7 @@ RectTransform:
- {fileID: 840530584} - {fileID: 840530584}
- {fileID: 1870225443} - {fileID: 1870225443}
- {fileID: 1484156671} - {fileID: 1484156671}
- {fileID: 1216643875}
m_Father: {fileID: 934701229} m_Father: {fileID: 934701229}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using Sirenix.OdinInspector;
using UnityEngine.SceneManagement;
/// <summary>
/// 直译转移,控制玩家在关卡间的切换
/// </summary>
public class Transfer : EntryTrigger
{
/// <summary>
/// 对应进度和场景名称
/// </summary>
[DictionaryDrawerSettings][ShowInInspector]
public static Dictionary<MyPlayer.Progress, string> proToScene;
void Start(){
proToScene = new Dictionary<MyPlayer.Progress, string>();
//将场景连成线
proToScene.Add(MyPlayer.Progress.,"FO");
proToScene.Add(MyPlayer.Progress.Fo,"DiZangStageTest");
proToScene.Add(MyPlayer.Progress.,"cun");
proToScene.Add(MyPlayer.Progress.,"Yi");
proToScene.Add(MyPlayer.Progress.Yi,"TeLuoYiStageTest");
proToScene.Add(MyPlayer.Progress.,"cun");
proToScene.Add(MyPlayer.Progress.,"Ji");
proToScene.Add(MyPlayer.Progress.Ji,"YiSaStageTest");
proToScene.Add(MyPlayer.Progress.,"cun");
proToScene.Add(MyPlayer.Progress.,"cun");
}
public override void OnCall(){
SceneManager.LoadScene(proToScene[MyPlayer.progress]);
}
}

View File

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

View File

@ -70,6 +70,13 @@ public class MyPlayer : MonoBehaviour, Boomer.I_CanBeBoomedObj
/// </summary> /// </summary>
[Header("此时是否受着撞钟攻击的影响?")][FoldoutGroup("状态")][ReadOnly] [Header("此时是否受着撞钟攻击的影响?")][FoldoutGroup("状态")][ReadOnly]
public bool isAnnoying = false; public bool isAnnoying = false;
public enum Progress{
, Fo, , ,Yi,, , Ji, ,
}
/// <summary>
/// 玩家进度
/// </summary>
public static Progress progress = 0;
// _____ _ _ // _____ _ _
// | __ \ (_) | | // | __ \ (_) | |
@ -131,10 +138,7 @@ public class MyPlayer : MonoBehaviour, Boomer.I_CanBeBoomedObj
/// </summary> /// </summary>
[Header("此时自己是否正在与物体交互")][ReadOnly][SerializeField][FoldoutGroup("状态")] [Header("此时自己是否正在与物体交互")][ReadOnly][SerializeField][FoldoutGroup("状态")]
private bool isInteractive = false; private bool isInteractive = false;
/// <summary>
/// 玩家进度,0表示刚开,1注册进村,2通佛,3通伊,4通基(通关)
/// </summary>
public static float progress;
private bool isDead; private bool isDead;

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

View File

@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: 3dbdaef7faf6fe647bf3c8ee9a4b1a5e
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: