任务:替换现有美术素材和动画、完善游戏的流程化

场景【第一关】
1.添加事件【打完电码后】,包含以下内容:
(1.关闭电报机界面
(2.在玩家周围生成一颗导弹
(3.导弹炸不到玩家,但是仍触发玩家被炸死的动画,表示被震晕
(4.震晕动画结束后若干秒,屏幕全黑
(5.转移到场景【第二关】

场景【第二关】
1.替换场景美术素材
2.将场景翻转
3.布置电报机
4.布置电报线
5.创建对话【醒来】,使其在改场景一开始就触发
6.给损坏的电报机添加代码,使玩家跟电报机互动后,电报机背在身上。
7.创建事件【若没拿包】,当玩家走到坡的一半并且没有拿损坏的电报机触发,弹出对话要求玩家拿电报机
8.创建对话【还没拿包】
9.修改地形
10.布置碉堡灯光敌人,具有以下特性:
(1.当玩家暴露在灯光下且没有模板遮挡时,判定玩家死亡
(2.碉堡的灯每若干秒都会过热关闭一段事件
11.安排坑的上下坑功能
This commit is contained in:
Roman 2021-09-03 01:55:24 +08:00
parent 93808cc53b
commit 3476256694
16 changed files with 5990 additions and 949 deletions

View File

@ -44,6 +44,6 @@ Material:
- WaveIntensity_2: 1
- WaveSpread_Value: 0
m_Colors:
- Center: {r: -0.14965409, g: 0.24458662, b: 0, a: 0}
- Center: {r: 0.93976486, g: 0.20137104, b: 0, a: 0}
- Vector2_d2d098295fc146f08b921b231b2e5199: {r: 1.6, g: 0.9, b: 0, a: 0}
m_BuildTextureStacks: []

View File

@ -157,7 +157,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.13324745, y: 0.172}
m_AnchorMax: {x: 0.565, y: 0.41035822}
m_AnchoredPosition: {x: 0.80000305, y: -1.9000168}
m_AnchoredPosition: {x: 0.80000305, y: -1.8999939}
m_SizeDelta: {x: -8, y: -12}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &14316730
@ -959,7 +959,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8233114533063075529, guid: 82d871be611f9d14fbe8c166075c1a37, type: 3}
propertyPath: m_AnchoredPosition.y
value: -3.9000397
value: -3.9000244
objectReference: {fileID: 0}
- target: {fileID: 8233114533063075529, guid: 82d871be611f9d14fbe8c166075c1a37, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
@ -1759,6 +1759,81 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &342594116
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 342594117}
- component: {fileID: 342594119}
- component: {fileID: 342594118}
m_Layer: 5
m_Name: "\u9ED1\u5E55"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &342594117
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 342594116}
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: 526267221}
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 637.17004, y: 337.3}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &342594118
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 342594116}
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: 0, g: 0, b: 0, 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: 0}
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 &342594119
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 342594116}
m_CullTransparentMesh: 1
--- !u!4 &361026086 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3118168874406839344, guid: a33f3ee35358b11469af30e9a746a630, type: 3}
@ -1860,7 +1935,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 367679635}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -35.8, y: -6.2, z: 0}
m_LocalPosition: {x: -35.5, y: -6.3, z: 0}
m_LocalScale: {x: 0.39999998, y: 0.39999998, z: 0.39999998}
m_Children:
- {fileID: 1737112887496214201}
@ -2543,6 +2618,7 @@ RectTransform:
- {fileID: 1265914332}
- {fileID: 1966298236}
- {fileID: 485383374}
- {fileID: 342594117}
m_Father: {fileID: 1102619305}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -2787,6 +2863,52 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 635089478}
m_CullTransparentMesh: 1
--- !u!1 &635525185
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 635525186}
- component: {fileID: 635525187}
m_Layer: 0
m_Name: "\u6253\u5B8C\u7801\u540E"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &635525186
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 635525185}
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: 1008194250}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &635525187
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 635525185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bc2900de00f51b04384a14a06412efce, type: 3}
m_Name:
m_EditorClassIdentifier:
shell: {fileID: 6293088924721911990, guid: bdd288e4cdf08da45b1a42ced9473872, type: 3}
bombingArea: {fileID: 1842116604}
BlackUI: {fileID: 342594116}
--- !u!1 &643242559
GameObject:
m_ObjectHideFlags: 1
@ -5536,6 +5658,7 @@ Transform:
- {fileID: 941245485}
- {fileID: 1964981348}
- {fileID: 1938528137}
- {fileID: 635525186}
m_Father: {fileID: 1102619305}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -5982,7 +6105,7 @@ Camera:
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 5.5796366
orthographic size: 5.5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
@ -6006,7 +6129,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1142437218}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -32.41489, y: -5.2197456, z: -10}
m_LocalPosition: {x: -32.561085, y: -5.299382, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1608038909}
@ -6251,7 +6374,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.028, y: 0.07770139}
m_AnchorMax: {x: 0.934, y: 0.80746245}
m_AnchoredPosition: {x: -1.1622925, y: 6.8636475}
m_AnchoredPosition: {x: -1.162323, y: 6.8636475}
m_SizeDelta: {x: -10.95929, y: -15.4207}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1198602022
@ -6298,6 +6421,32 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1198602020}
m_CullTransparentMesh: 1
--- !u!1 &1207807142 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6148935033436152201, guid: b034a6d27e737a9438c2164815880846, type: 3}
m_PrefabInstance: {fileID: 1639467004}
m_PrefabAsset: {fileID: 0}
--- !u!50 &1207807147
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1207807142}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 7
--- !u!1 &1224042231
GameObject:
m_ObjectHideFlags: 0
@ -6881,6 +7030,36 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1305300353
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1305300354}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1305300354
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1305300353}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 119.52, y: -6.79, z: -4.012952}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1329737168
GameObject:
m_ObjectHideFlags: 0
@ -7708,7 +7887,7 @@ MonoBehaviour:
m_Follow: {fileID: 1737112887496214201}
m_Lens:
FieldOfView: 60
OrthographicSize: 5.5796366
OrthographicSize: 5.5
NearClipPlane: 0.3
FarClipPlane: 1000
Dutch: 0
@ -7729,7 +7908,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1477400527}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -36.239998, y: -5.8099995, z: -10}
m_LocalPosition: {x: -35.94, y: -5.91, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 32565896}
@ -8190,6 +8369,10 @@ PrefabInstance:
propertyPath: m_SortingOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6148935033436152198, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_Event
value:
objectReference: {fileID: 635525187}
- target: {fileID: 6148935033436152198, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_interface
value:
@ -8230,14 +8413,26 @@ PrefabInstance:
propertyPath: sentencesTextView.Array.data[2]
value:
objectReference: {fileID: 14316730}
- target: {fileID: 6148935033436152199, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_Size.y
value: 0.57
objectReference: {fileID: 0}
- target: {fileID: 6148935033436152199, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6148935033436152199, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_Offset.y
value: -0.24
objectReference: {fileID: 0}
- target: {fileID: 6148935033436152201, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6148935033436152201, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_TagString
value: "\u7535\u62A5\u673A"
objectReference: {fileID: 0}
- target: {fileID: 6148935034079004064, guid: b034a6d27e737a9438c2164815880846, type: 3}
propertyPath: m_RootOrder
value: 21
@ -9358,7 +9553,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.523, y: 0.059222218}
m_AnchorMax: {x: 0.9732738, y: 0.46247932}
m_AnchoredPosition: {x: 1.0999756, y: -0.3999939}
m_AnchoredPosition: {x: 1.0999756, y: -0.39996338}
m_SizeDelta: {x: -5.90609, y: -2.1826124}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1922630721
@ -10755,7 +10950,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 5437654542896820717}
m_Bounds:
m_Center: {x: 6.369995, y: -0.002114892, z: 0}
m_Center: {x: 6.369995, y: -0.0021167994, z: 0}
m_Extent: {x: 0.855, y: 1.1198149, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -11023,7 +11218,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 7089406931308197820}
m_Bounds:
m_Center: {x: -0.008457363, y: 0.000014662743, z: 0}
m_Center: {x: -0.008464992, y: 0.000014662743, z: 0}
m_Extent: {x: 0.55653495, y: 0.69665515, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -11094,7 +11289,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 2360827735431813924}
m_Bounds:
m_Center: {x: -0.0004349947, y: 0.00431484, z: 0}
m_Center: {x: -0.0004426241, y: 0.00431484, z: 0}
m_Extent: {x: 0.689565, y: 0.9506854, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -12511,7 +12706,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 4586288761792830837}
m_Bounds:
m_Center: {x: 0.0021877289, y: 0, z: 0}
m_Center: {x: 0.0021800995, y: 0.0000019073486, z: 0}
m_Extent: {x: 0.60282004, y: 0.69500005, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -12715,7 +12910,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 6675447233366868755}
m_Bounds:
m_Center: {x: -0.000027358532, y: 0.00060486794, z: 0}
m_Center: {x: -0.000027358532, y: 0.0006029606, z: 0}
m_Extent: {x: 0.705515, y: 1.2171149, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -12806,7 +13001,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 7263140363742385229}
m_Bounds:
m_Center: {x: -0.004254937, y: 0.00072705746, z: 0}
m_Center: {x: -0.004254937, y: 0.0007251501, z: 0}
m_Extent: {x: 0.8907454, y: 1.2819755, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -12932,7 +13127,7 @@ MonoBehaviour:
- {fileID: 8355431490900499643}
- {fileID: 4936508675712544306}
m_Bounds:
m_Center: {x: 0.0023227334, y: -0.0016735196, z: 0}
m_Center: {x: 0.002315104, y: -0.001675427, z: 0}
m_Extent: {x: 0.68268514, y: 0.4232551, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1
@ -13062,7 +13257,7 @@ MonoBehaviour:
m_BoneTransforms:
- {fileID: 3397380986102525386}
m_Bounds:
m_Center: {x: 0.0013449192, y: 0, z: 0}
m_Center: {x: 0.0013372898, y: 0.0000019073486, z: 0}
m_Extent: {x: 0.7836551, y: 1.035, z: 0}
m_UseBatching: 1
m_AlwaysUpdate: 1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,53 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.InputSystem;
public class AfterCoding : Event
{
//事件:第一关打完码后
[Tooltip("要召唤,得先有,对吧?拖进炮弹的预制体")]
public GameObject shell;
[Tooltip("召唤的炮弹需要知道自己属于哪个轰炸区,请拖入其轰炸区")]
public BombingArea bombingArea;
[Tooltip("请拖入黑幕")]
public GameObject BlackUI;
void Start()
{
OnCall();
}
public override void OnCall()
{
//*关闭玩家操控地图
FindObjectOfType<PlayerInput>().SwitchCurrentActionMap("NullMap");
//1.关闭电报机界面
FindObjectOfType<Machine>().m_interface.SetActive(false);
//2.在玩家旁边生成一颗导弹
Shell thisShell = Instantiate(shell,new Vector3(119.539998f,5.96999979f,-4.01295185f),Quaternion.identity).
GetComponent<Shell>();
thisShell.M_BombingArea = bombingArea;
thisShell.YouAreSpecal();
//3.导弹爆炸后触发玩家死亡动画,这一段写在导弹类里面
}
//4.玩家被炸死开始执行后触发此段,镜头开始缓慢聚焦到主角
public void OnDeadAnimation()
{
StartCoroutine("OnDeadAnimationEnd");//若干秒后执行死亡动画播放完毕后代码
StartCoroutine("StopDead");//本帧结束后停止死亡动画条件防止反复触发
}
private IEnumerator StopDead()
{
yield return new WaitForEndOfFrame();
FindObjectOfType<M_Player>().GetComponent<Animator>().SetBool("IsBoomDead",false);
}
//5.当玩家被炸死动画结束后触发此段
private IEnumerator OnDeadAnimationEnd()
{
yield return new WaitForSeconds(1.1f + 3f);//炸死动画1.1秒 + 3秒留给玩家反应
//黑屏一张铺满的黑色UI显示
BlackUI.SetActive(true);
yield return new WaitForSeconds(2f);//两秒后,转移场景
SceneManager.LoadScene("第二关");
}
}

View File

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

View File

@ -0,0 +1,24 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Fungus;
using UnityEngine.InputSystem;
public class IfNotCarryMachine : Event
{
//事件:如果玩家没拿包
public override void OnCall()
{
FindObjectOfType<PlayerInput>().SwitchCurrentActionMap("NullMap");
Flowchart.BroadcastFungusMessage("还没拿包");
}
void OnCollisionEnter2D(UnityEngine.Collision2D other)
{
if(other.transform.tag == "Player")
{
if(!FindObjectOfType<M_Player>().transform.Find("包").gameObject.activeSelf) OnCall();
else Destroy(gameObject);
}
}
}

View File

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

View File

@ -0,0 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InitStage2 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
StartCoroutine("OpenReadyMachine");
}
private IEnumerator OpenReadyMachine()
{
yield return new WaitForSeconds(0.1f);
Debug.Log("打开损坏电报机的碰撞体");
FindObjectOfType<AReadyMachine>().GetComponent<BoxCollider2D>().enabled = true;//打开损坏电报机的碰撞体
}
// Update is called once per frame
void Update()
{
}
}

View File

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

View File

@ -0,0 +1,111 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NightBlockHouse : MonoBehaviour
{
// Start is called before the first frame update
//晚上的碉堡类
//碉堡类敌人的控制代码
[Tooltip("请填入开枪的间隔时间")]
public float firingInterval;
private ShootingArea[] shootingAreas;
private bool isShooting = false;//记录此时自己是否正在射击
[Tooltip("请拖入两灯游戏物体")]
public GameObject[] lights;
void Start()
{
shootingAreas = new ShootingArea[transform.childCount];
for(int i = 0; i < transform.childCount; i++)
{
shootingAreas[i] = transform.GetChild(i).
gameObject.AddComponent<ShootingArea>();//给每个子物体挂上射击区的脚本
//并且把它的脚本送到数组里面,免去以后再遍历拖慢速度
}
InvokeRepeating("ShootOrStopShoot",firingInterval,firingInterval);
}
void Update()
{
if(isShooting) Shooting();//如果正在射击,每帧检查射击区
}
// void OnTriggerEnter2D(Collider2D other)
// {
// if(other.tag == "Player")
// {
// //当玩家进入监视区,开始每隔时间进行扫射
// InvokeRepeating("ShootOrStopShoot",firingInterval,firingInterval);
// }
// }
// void OnTriggerExit2D(Collider2D other)
// {
// if(other.tag == "Player")
// {
// //当玩家退出监视区取消扫射的Invoke
// CancelInvoke("ShootOrStopShoot");
// }
// }
//定时触发,反正就是更改射击状态,射到不射或者不射到射
private void ShootOrStopShoot()
{
if(isShooting)//如果在开火
{
isShooting = false;//别让它开了
foreach(GameObject light in lights)
{
light.SetActive(false);
}
}
else//如果没在开火
{
isShooting = true;//标记让它开火
foreach(GameObject light in lights)
{
light.SetActive(true);
}
}
}
//正在射击的时候触发,每帧检测是否被击中
private void Shooting()
{
foreach(ShootingArea s in shootingAreas)
{
if(s.IsPlayerHere())
{
Debug.Log("玩家被击中!");
}
}
}
private class ShootingArea : MonoBehaviour
{
//射击区类,我懒得再单写一个脚本了,里面东西很少
private bool isPlayerHere = false;//记录玩家是否在内部
void OnTriggerEnter2D(Collider2D other)
{
if(other.tag == "Player")
{
//当玩家进入射击区,更改判断标志
isPlayerHere = true;
}
}
void OnTriggerExit2D(Collider2D other)
{
if(other.tag == "Player")
{
//当玩家退出射击区,更改判断标志
isPlayerHere = false;
}
}
public bool IsPlayerHere(){return isPlayerHere;}//返回玩家是否在这个射击区内的结果
}
}

View File

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

View File

@ -127,6 +127,13 @@ public class Shell : MonoBehaviour
isDroping = false;
other.transform.Find("老兵").GetComponent<Animator>().SetBool("IsBoomingDead",true);//执行老兵被炸死动画
break;
case "电报机":
animator.SetBool("IsBoom",true);
isDroping = false;//播放爆炸动画
FindObjectOfType<M_Player>().GetComponent<Animator>().
SetBool("IsBoomDead",true);//播放玩家被炸死动画
FindObjectOfType<AfterCoding>().OnDeadAnimation();
break;
}
}

View File

@ -11,7 +11,7 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 357292999969649353}
m_Position: {x: 210, y: 160, z: 0}
m_Position: {x: 170, y: 210, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []

View File

@ -166,12 +166,16 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: 448856224310135594}
m_Position: {x: 250, y: -150, z: 0}
- serializedVersion: 1
m_State: {fileID: 5093595174704884779}
m_Position: {x: -280, y: 80, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_AnyStateTransitions:
- {fileID: 3603397900527353245}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: -50, y: -30, z: 0}
m_AnyStatePosition: {x: 0, y: -20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 810, y: -100, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
@ -472,55 +476,55 @@ AnimatorController:
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: IsReparing
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: IsRunning
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: IsDown
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: IsUp
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: throwingState
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: ReadyToThrow
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
- m_Name: NowThrow
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
- m_Name: IsBoomingDead
m_Controller: {fileID: 9100000}
- m_Name: IsBoomDead
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@ -616,7 +620,7 @@ AnimatorStateTransition:
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: IsBoomingDead
m_ConditionEvent: IsBoomDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 448856224310135594}
@ -712,6 +716,31 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &3603397900527353245
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: IsBoomDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5093595174704884779}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &3715702393515638234
AnimatorState:
serializedVersion: 6
@ -788,6 +817,32 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &5093595174704884779
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: "\u70B8\u6B7B 0"
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: fb2817e20e5726147adf51998b55ae95, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5349346327903521239
AnimatorState:
serializedVersion: 6

View File

@ -11,6 +11,7 @@ TagManager:
- "\u77F3\u5934"
- "\u7535\u8BDD\u7EBF"
- "\u8001\u5175"
- "\u7535\u62A5\u673A"
layers:
- Default
- TransparentFX

View File

@ -12,29 +12,29 @@ EditorUserSettings:
value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d
flags: 0
RecentlyUsedScenePath-2:
value: 22424703114646680e0b0227036cd8dcda93c2c6a9cdf57e38271427fb
value: 22424703114646680e0b0227036cdae0f290dfc7abfbfdb7f6d69be60968fbcd663fd8601ed2bad4ce4cfa320d2a18
flags: 0
RecentlyUsedScenePath-3:
value: 22424703114646680e0b0227036cdafade90ecf1aafdcdb8e2dc99eb0c69f6dc6a20dea7f234362820
value: 22424703114646680e0b0227036cdae0f290dfc7abfbfdb7f6d69be60968fbcd663fd8601ed2bad4ce4cfa320d2a18
flags: 0
RecentlyUsedScenePath-4:
value: 22424703114646680e0b0227036cdafade90ecf1aafdcdb8e2dc99eb0c69f6dc6a20dea7f234362820
flags: 0
RecentlyUsedScenePath-5:
value: 22424703114646680e0b0227036cdae0f290dfc7abfbfdb7f6d69be60968fbcd663fd8601ed2bad4ce4cfa320d2a18
flags: 0
RecentlyUsedScenePath-6:
value: 22424703114646680e0b0227036cdae0f290dfc7abfbfdb7f6d69be60968fbcd663fd8601ed2bad4ce4cfa320d2a18
flags: 0
RecentlyUsedScenePath-7:
value: 22424703114646680e0b0227036cdacaf990d3ea61aecec8a8d5c77df7ee3d2cfb
flags: 0
RecentlyUsedScenePath-8:
RecentlyUsedScenePath-5:
value: 22424703114646680e0b0227036cdafade90ecf1aafdcdb8e2dc99eb0c69f6dc6a20dea7f234362820
flags: 0
RecentlyUsedScenePath-6:
value: 22424703114646680e0b0227036cdacaf990d3ea61ade8e6a9f1d07df7ee3d2cfb
flags: 0
RecentlyUsedScenePath-9:
RecentlyUsedScenePath-7:
value: 22424703114646680e0b0227036cdacaf990d3ea61ade8e6a9f1d07df7ee3d2cfb
flags: 0
RecentlyUsedScenePath-8:
value: 22424703114646680e0b0227036cd8dcda93c0caa9cdf57e38271427fb
flags: 0
RecentlyUsedScenePath-9:
value: 22424703114646680e0b0227036cd8dcda93c2c6a9cdf57e38271427fb
flags: 0
UnityEditor.ShaderGraph.Blackboard:
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba95e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1b1968e93e2ffcbc3e7e2f0b3ffe0e8b0be9af8ffaeffff8e85dd8390e3949c8899daa7
flags: 0