religion/Assets/Prefabs/以撒鬼魂.prefab
Roman ca9a746b76 任务:搭建基本的系统
1.编写以撒逻辑
(1.继承于Enemy
(2.编写OnSave(男童)事件,当有男童被解救,会触发以撒的这个事件,后续逻辑等待讨论
(3.具有冲撞和闪电两种攻击方式,通过类似地藏的方式轮回随机决定攻击方式
(4.编写冲撞攻击逻辑
((*.创建鬼魂脚本
((*.创建鬼魂预制体,需要内含触发器
((1.当执行,以玩家为中心向周围一圈固定距离随机方向的某处召唤鬼魂,并记录下此时自身到玩家的方向
((2.等待一小段时间,令鬼魂以记录方向冲撞出去,利用Tweener动画营造一种先抖一下然后猛地创过来的感觉
((3.动画结束后,鬼魂逐渐消隐
((4.消隐结束后,删除游戏物体
((5.冲撞过程中具有攻击判定,若创到玩家,触发玩家的受击事件,同时获取主人的攻击力传给玩家
(3.编写闪电攻击逻辑
((1.当执行,在玩家头顶一定距离处生成鬼魂
((2.淡入显示鬼魂,一小段时间后,命令鬼魂发动落雷攻击
((3.发动时,激活场景内的巨型落雷,同时更改落雷的x位置到鬼魂的x,子物体具有触发器,(每帧)检测到玩家在内则对玩家造成伤害
((4.在极短的时间后关闭落雷同时开始淡出鬼魂
((5.淡出结束后删除游戏物体

2.编写男童逻辑
(1.继承于Interactive
(2.编写解救男童逻辑
((*.修改Interactive基类,新增OnCallCancel事件,当交互键抬起时触发一次
((*.新增男童状态的枚举类型,包含:wait、saving、OK三个状态
((*:新增一个变量记录男童状态
((1.重写OnCall事件,当OnCall,修改状态至saving
((2.Update回调中,若处于saving状态,则开始减少CDLeft,同时判断CDLeft是否耗尽,若耗尽,触发OnSave
((3.编写OnSave函数,修改状态至OK,通知owner自己已经OnSave
((4.重写OnCallCancel事件,当触发,判定状态,若处于saving状态,则修改状态至wait,恢复CDLeft
((*.使得玩家救人的时候无法移动,而当交互键抬起,重新获得移动能力
((*.修改可交互基类,当玩家交互过程中丢失catching,触发可交互物体的中断,同时告知玩家交互中断,触发中断事件
((5.解救结束后,通知玩家解救结束

至此,以撒的Boss逻辑还差首尾部分
加速吧
2021-12-17 01:27:10 +08:00

117 lines
3.2 KiB
Plaintext

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &7242342954004886428
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7242342954004886426}
- component: {fileID: 7242342954004886429}
- component: {fileID: 7242342954004886427}
- component: {fileID: 7242342954004886424}
m_Layer: 0
m_Name: "\u4EE5\u6492\u9B3C\u9B42"
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7242342954004886426
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7242342954004886428}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -3.18, y: 6.39, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &7242342954004886429
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7242342954004886428}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 21300000, guid: 11b9cff6c92a53541a1acf380bc46247, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!70 &7242342954004886427
CapsuleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7242342954004886428}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: -0.03, y: -0.16}
m_Size: {x: 1.04, y: 1.55}
m_Direction: 0
--- !u!114 &7242342954004886424
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7242342954004886428}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6734e02ccd3528e41b593315751e810f, type: 3}
m_Name:
m_EditorClassIdentifier:
rushTime: 0.6
lightning: {fileID: 0}