任务:搭建基本的系统
1.实装一些美术素材 2.完成木马召唤小怪攻击逻辑 (1.修复伊斯兰小怪的炸飞方向丢失Bug (2.给伊斯兰小怪两种被击飞模式,当被普通武器攻击,轻度正常击飞,当被炸弹炸飞,剧烈飞出 3.完成木马喷射炸弹攻击逻辑 (1.与召唤小怪逻辑类似 (2.创建炸弹类 (3.3次喷射,仅确定首次力度和方向,后两次依靠倍率改变力度 4.完成炸弹逻辑,用于召唤炸弹和喷射炸弹两种攻击方式 (1.碰到东西即爆炸 (2.有一个触发器表示爆炸范围,当有东西进入 ,尝试获取被炸对象接口,如果有,则将其加入攻击列表,爆炸时对列表中的每一个对象造成伤害,攻击力来自于owner (3.当有物体离开触发器,康康它是否在列表中,若在,将其移除 5.整理脚本 下班
This commit is contained in:
parent
07d619494b
commit
6253bd856c
@ -161,6 +161,7 @@ MonoBehaviour:
|
||||
deadRotationRangeMin: 500
|
||||
boomTime: 0
|
||||
hitToflyParameter: {x: 3, y: 3}
|
||||
canHitPlayer: 0
|
||||
--- !u!50 &4312721376048571789
|
||||
Rigidbody2D:
|
||||
serializedVersion: 4
|
||||
|
163
Assets/Prefabs/炸弹.prefab
Normal file
163
Assets/Prefabs/炸弹.prefab
Normal file
@ -0,0 +1,163 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7438740031623559657
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7438740031623559663}
|
||||
- component: {fileID: 7438740031623559656}
|
||||
- component: {fileID: 7438740031623559662}
|
||||
- component: {fileID: 7438740031623559661}
|
||||
- component: {fileID: 7438740031623559635}
|
||||
- component: {fileID: 7438740031623559660}
|
||||
m_Layer: 0
|
||||
m_Name: "\u70B8\u5F39"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7438740031623559663
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7438740031623559657}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 4.98, y: -1.46, z: 0}
|
||||
m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &7438740031623559656
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7438740031623559657}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 328d1361227b9fd40b3fc2f5b1ad2fe0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!212 &7438740031623559662
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7438740031623559657}
|
||||
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: 3
|
||||
m_Sprite: {fileID: 21300000, guid: 6f62c397230d6d845b87a8e53d67c0e1, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
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!61 &7438740031623559661
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7438740031623559657}
|
||||
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.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!50 &7438740031623559635
|
||||
Rigidbody2D:
|
||||
serializedVersion: 4
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7438740031623559657}
|
||||
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: 0
|
||||
--- !u!58 &7438740031623559660
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7438740031623559657}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
7
Assets/Prefabs/炸弹.prefab.meta
Normal file
7
Assets/Prefabs/炸弹.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6f425457493cafb409f540876c51609c
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -123,6 +123,36 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &230279235
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 230279236}
|
||||
m_Layer: 7
|
||||
m_Name: "\u55B7\u5C04\u70B8\u5F39\u70B9"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &230279236
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 230279235}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 2.27, y: 2.21, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1208549691}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &482671851
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -495,7 +525,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 600486443}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.59000015, y: -0.44, z: -10}
|
||||
m_LocalPosition: {x: -0.59000015, y: -0.32, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1074312559}
|
||||
@ -532,6 +562,88 @@ Transform:
|
||||
m_Father: {fileID: 482671858}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1068582822
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1068582823}
|
||||
- component: {fileID: 1068582824}
|
||||
m_Layer: 0
|
||||
m_Name: "\u80CC\u666F\u56FE"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1068582823
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1068582822}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 3.13, z: 0}
|
||||
m_LocalScale: {x: 1, y: 0.672269, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1123387179}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1068582824
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1068582822}
|
||||
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: 0524a118693de844792a47d96c9f05c4, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 16.56, y: 9.6}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &1074312558
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 3
|
||||
@ -578,7 +690,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_BindingMode: 1
|
||||
m_FollowOffset: {x: 7.06, y: 0, z: -10}
|
||||
m_FollowOffset: {x: 7.06, y: 0.26, z: -10}
|
||||
m_XDamping: 0
|
||||
m_YDamping: 0
|
||||
m_ZDamping: 0
|
||||
@ -692,8 +804,8 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1091564853}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -0.15303718, y: 3.1327734, z: 0}
|
||||
m_LocalScale: {x: 0.050341185, y: 0.672269, z: 1}
|
||||
m_LocalPosition: {x: -2.512396, y: 3.1327734, z: 0}
|
||||
m_LocalScale: {x: 0.82644624, y: 0.672269, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1095864398}
|
||||
m_RootOrder: 0
|
||||
@ -758,7 +870,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
|
||||
m_Sprite: {fileID: 21300000, guid: 04793ec80b1d3534a99686af8f3fb3af, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
@ -777,10 +889,11 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1095864396}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 3.0399995, y: -4.66, z: 0}
|
||||
m_LocalScale: {x: 19.864452, y: 1.4875, z: 1}
|
||||
m_LocalPosition: {x: 2.94, y: -4.66, z: 0}
|
||||
m_LocalScale: {x: 1.1, y: 1.4875, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1091564855}
|
||||
- {fileID: 1859446325}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -801,14 +914,14 @@ BoxCollider2D:
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
oldSize: {x: 16.56, y: 0.84}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_Size: {x: 16.55, y: 0.84}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &1095864400
|
||||
MonoBehaviour:
|
||||
@ -835,11 +948,11 @@ BoxCollider2D:
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0.47, y: 0.19}
|
||||
m_Offset: {x: 8.2, y: 0.19}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
oldSize: {x: 16.56, y: 0.84}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
@ -885,14 +998,14 @@ BoxCollider2D:
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
oldSize: {x: 16.56, y: 0.84}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_Size: {x: 16.55, y: 0.84}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!212 &1123387178
|
||||
SpriteRenderer:
|
||||
@ -934,7 +1047,7 @@ SpriteRenderer:
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
|
||||
m_Sprite: {fileID: 21300000, guid: 04793ec80b1d3534a99686af8f3fb3af, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
@ -953,9 +1066,10 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1123387176}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -16.82, y: -4.66, z: 0}
|
||||
m_LocalScale: {x: 19.864452, y: 1.4875, z: 1}
|
||||
m_Children: []
|
||||
m_LocalPosition: {x: -15.27, y: -4.66, z: 0}
|
||||
m_LocalScale: {x: 1.1, y: 1.4875, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1068582823}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -984,11 +1098,11 @@ BoxCollider2D:
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0.47, y: 0.19}
|
||||
m_Offset: {x: 8.21, y: 0.19}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
oldSize: {x: 16.56, y: 0.84}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
@ -1077,11 +1191,12 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1208549689}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -7.65, y: -0.44, z: 0}
|
||||
m_LocalPosition: {x: -7.65, y: -0.58, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1266729902}
|
||||
- {fileID: 1367477611}
|
||||
- {fileID: 230279236}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -1104,10 +1219,14 @@ MonoBehaviour:
|
||||
canBeHit: 1
|
||||
state: 0
|
||||
HPLeft: 0
|
||||
timeBetweenAttacks: 1
|
||||
timeBetweenAttacks: 0
|
||||
yiSiLan: {fileID: 4312721376048571783, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
yiSiLanMinTime: 3
|
||||
yiSiLanMaxTime: 6
|
||||
sprayBoomer: {fileID: 7438740031623559657, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
sprayBoomerTime: 1
|
||||
sprayBoomerDir: {x: 1.5, y: 1}
|
||||
sprayBoomerMultiple: 1.5
|
||||
isMove: 0
|
||||
--- !u!61 &1208549693
|
||||
BoxCollider2D:
|
||||
@ -1133,7 +1252,7 @@ BoxCollider2D:
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 3.9314287, y: 6.9942856}
|
||||
m_Size: {x: 2.93, y: 6.9942856}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!61 &1208549694
|
||||
BoxCollider2D:
|
||||
@ -1247,7 +1366,7 @@ SpriteRenderer:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1266729901}
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
@ -1370,7 +1489,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1305025512}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.59000015, y: -0.47660133, z: -10}
|
||||
m_LocalPosition: {x: -0.59000015, y: -0.32, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
@ -2009,6 +2128,88 @@ Transform:
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1859446324
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1859446325}
|
||||
- component: {fileID: 1859446326}
|
||||
m_Layer: 0
|
||||
m_Name: "\u80CC\u666F\u56FE"
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1859446325
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1859446324}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 3.1299996, z: 0}
|
||||
m_LocalScale: {x: 1, y: 0.672269, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1095864398}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1859446326
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1859446324}
|
||||
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: 0524a118693de844792a47d96c9f05c4, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 16.56, y: 9.6}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &2108572885
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2160,3 +2361,64 @@ MonoBehaviour:
|
||||
optionalRotationMode: 0
|
||||
optionalScrambleMode: 0
|
||||
optionalString:
|
||||
--- !u!1001 &7438740032665260723
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 7438740031623559657, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: "\u70B8\u5F39"
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559657, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 4.98
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -1.46
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7438740031623559663, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 6f425457493cafb409f540876c51609c, type: 3}
|
||||
|
@ -571,7 +571,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 326335321}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 4.24, y: 0.153, z: 0}
|
||||
m_LocalPosition: {x: 1.77, y: 0.153, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 321454206}
|
||||
@ -882,7 +882,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 519420028}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 5.0099998, y: 0.953, z: -10}
|
||||
m_LocalPosition: {x: 2.54, y: 0.953, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 189736997}
|
||||
@ -974,7 +974,7 @@ GameObject:
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!61 &906466580
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1439,7 +1439,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1160673894}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 5.0099998, y: 0.953, z: -10}
|
||||
m_LocalPosition: {x: 2.54, y: 0.953, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1225561446}
|
||||
@ -2345,10 +2345,30 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4312721376048571782, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
propertyPath: hitToflyParameter.x
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4312721376048571782, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
propertyPath: hitToflyParameter.y
|
||||
value: 3
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4312721376048571782, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
propertyPath: deadRotationRangeMax
|
||||
value: 500
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4312721376048571782, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
propertyPath: deadRotationRangeMin
|
||||
value: 500
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4312721376048571783, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: "\u4F0A\u65AF\u5170"
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4312721376048571783, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: fbfdd225dbb0dfe4ca6246532e0ec9cb, type: 3}
|
||||
--- !u!1001 &7746389308018742370
|
||||
|
115
Assets/Scripts/Bommer.cs
Normal file
115
Assets/Scripts/Bommer.cs
Normal file
@ -0,0 +1,115 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using DG.Tweening;
|
||||
using Sirenix.OdinInspector;
|
||||
|
||||
/// <summary>
|
||||
/// 炸弹类,控制木马喷射和召唤的炸弹
|
||||
/// </summary>
|
||||
public class Bommer : MonoBehaviour
|
||||
{
|
||||
// _____ _ _ _
|
||||
// | __ \ | | | (_)
|
||||
// | |__) | _| |__ | |_ ___
|
||||
// | ___/ | | | '_ \| | |/ __|
|
||||
// | | | |_| | |_) | | | (__
|
||||
// |_| \__,_|_.__/|_|_|\___|
|
||||
|
||||
/// <summary>
|
||||
/// 可以被炸弹炸到的物体,实现一些炸与被炸的功能
|
||||
/// </summary>
|
||||
public interface I_CanBeBoomedObj{
|
||||
/// <summary>
|
||||
/// 被炸的时候触发
|
||||
/// </summary>
|
||||
void BeBoomed(float atk, int dir);
|
||||
Transform ObjTransform();
|
||||
}
|
||||
[HideInInspector]
|
||||
public Rigidbody2D m_rigidbody;
|
||||
|
||||
// _____ _ _
|
||||
// | __ \ (_) | |
|
||||
// | |__) | __ ___ ____ _| |_ ___
|
||||
// | ___/ '__| \ \ / / _` | __/ _ \
|
||||
// | | | | | |\ V / (_| | || __/
|
||||
// |_| |_| |_| \_/ \__,_|\__\___|
|
||||
|
||||
private TrojanHorse owner;
|
||||
/// <summary>
|
||||
/// 爆炸会受影响的东西,只能是伊斯兰、木马或者玩家
|
||||
/// </summary>
|
||||
private List<I_CanBeBoomedObj> boomingObj;
|
||||
|
||||
// _____ _ _ ____ _
|
||||
// / ____| | | | _ \ | |
|
||||
// | | __ _| | | |_) | __ _ ___| | __
|
||||
// | | / _` | | | _ < / _` |/ __| |/ /
|
||||
// | |___| (_| | | | |_) | (_| | (__| <
|
||||
// \_____\__,_|_|_|____/ \__,_|\___|_|\_\
|
||||
|
||||
void Start(){
|
||||
Init();
|
||||
}
|
||||
|
||||
// _ _ _
|
||||
// | \ | | | |
|
||||
// | \| | ___ _ __ _ __ ___ __ _| |
|
||||
// | . ` |/ _ \| '__| '_ ` _ \ / _` | |
|
||||
// | |\ | (_) | | | | | | | | (_| | |
|
||||
// |_| \_|\___/|_| |_| |_| |_|\__,_|_|
|
||||
|
||||
private void Init(){
|
||||
//找到必须的物体和组件
|
||||
owner = FindObjectOfType<TrojanHorse>();
|
||||
boomingObj = new List<I_CanBeBoomedObj>();
|
||||
m_rigidbody = GetComponent<Rigidbody2D>();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 爆炸的瞬间执行
|
||||
/// </summary>
|
||||
private void Boom(){
|
||||
//对于每一个范围内的被炸物体
|
||||
foreach(I_CanBeBoomedObj obj in boomingObj){
|
||||
//执行被炸事件
|
||||
obj.BeBoomed(owner.ATK,
|
||||
(obj.ObjTransform().position.x - transform.position.x > 0) ? 1 : 1
|
||||
);
|
||||
}
|
||||
//销毁自己
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
// _____ _ _ _ _
|
||||
// / ____| | | (_) (_)
|
||||
// | | ___ | | |_ ___ _ ___ _ __
|
||||
// | | / _ \| | | / __| |/ _ \| '_ \
|
||||
// | |___| (_) | | | \__ \ | (_) | | | |
|
||||
// \_____\___/|_|_|_|___/_|\___/|_| |_|
|
||||
|
||||
//当与物体碰上
|
||||
void OnCollisionEnter2D(Collision2D other){
|
||||
//直接爆炸,不管是什么
|
||||
Boom();
|
||||
}
|
||||
//当有东西进入爆炸范围
|
||||
void OnTriggerEnter2D(Collider2D other){
|
||||
//看看是不是可被炸对象(对象需要实现被炸接口)
|
||||
if(other.TryGetComponent<I_CanBeBoomedObj>(out I_CanBeBoomedObj obj)){
|
||||
//是则将其加入被炸对象列表
|
||||
boomingObj.Add(obj);
|
||||
}
|
||||
}
|
||||
//当有东西离开爆炸范围
|
||||
void OnTriggerExit2D(Collider2D other){
|
||||
//看看是不是可被炸对象(对象需要实现被炸接口)
|
||||
if(other.TryGetComponent<I_CanBeBoomedObj>(out I_CanBeBoomedObj obj)){
|
||||
//是则将其移除出被炸对象列表
|
||||
boomingObj.Remove(obj);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
11
Assets/Scripts/Bommer.cs.meta
Normal file
11
Assets/Scripts/Bommer.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 328d1361227b9fd40b3fc2f5b1ad2fe0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -118,7 +118,7 @@ public class Enemy : MonoBehaviour
|
||||
// | | ___ | | |_ ___ _ ___ _ __
|
||||
// | | / _ \| | | / __| |/ _ \| '_ \
|
||||
// | |___| (_) | | | \__ \ | (_) | | | |
|
||||
// \_____\___/|_|_|_|___/_|\___/|_| |_|
|
||||
// \_____\___/|_|_|_|___/_|\___/|_| |_|
|
||||
protected void OnCollisionEnter2D(Collision2D other)//当有物体碰上
|
||||
{
|
||||
if(other.collider.gameObject.TryGetComponent<MyPlayer>(out MyPlayer player))
|
||||
|
@ -8,7 +8,7 @@ using Sirenix.OdinInspector;
|
||||
/// <summary>
|
||||
/// 玩家类,控制玩家相关的东西
|
||||
/// </summary>
|
||||
public class MyPlayer : MonoBehaviour
|
||||
public class MyPlayer : MonoBehaviour, Bommer.I_CanBeBoomedObj
|
||||
{
|
||||
// _____ _ _ _
|
||||
// | __ \ | | | (_)
|
||||
@ -473,6 +473,22 @@ public class MyPlayer : MonoBehaviour
|
||||
public void OnThrowingEnd(){isThrowing = false;}
|
||||
|
||||
|
||||
// _____ _ __
|
||||
// |_ _| | | / _|
|
||||
// | | _ __ | |_ ___ _ __| |_ __ _ ___ ___
|
||||
// | | | '_ \| __/ _ \ '__| _/ _` |/ __/ _ \
|
||||
// _| |_| | | | || __/ | | || (_| | (_| __/
|
||||
// |_____|_| |_|\__\___|_| |_| \__,_|\___\___|
|
||||
|
||||
public void BeBoomed(float atk, int dir){
|
||||
OnBeHit(atk,dir);
|
||||
}
|
||||
|
||||
public Transform ObjTransform(){return transform;}
|
||||
|
||||
|
||||
|
||||
|
||||
// _______ _ _____ _
|
||||
// |__ __| | |/ ____| |
|
||||
// | | ___ ___ | | | | | __ _ ___ ___
|
||||
|
@ -7,7 +7,7 @@ using DG.Tweening;
|
||||
/// <summary>
|
||||
/// 木马类
|
||||
/// </summary>
|
||||
public class TrojanHorse : Enemy
|
||||
public class TrojanHorse : Enemy, Bommer.I_CanBeBoomedObj
|
||||
{
|
||||
// _____ _ _ _
|
||||
// | __ \ | | | (_)
|
||||
@ -36,6 +36,26 @@ public class TrojanHorse : Enemy
|
||||
/// </summary>
|
||||
[Header("召唤小怪攻击中,生成小怪之间间隔的最长时间")][FoldoutGroup("木马")]
|
||||
public float yiSiLanMaxTime;
|
||||
/// <summary>
|
||||
/// 炸弹的预制体,用来喷射的那种
|
||||
/// </summary>
|
||||
[Header("炸弹的预制体,用来喷射的那种")][FoldoutGroup("预制体")]
|
||||
public GameObject sprayBoomer;
|
||||
/// <summary>
|
||||
/// 喷射炸弹的时间间隔
|
||||
/// </summary>
|
||||
[Header("喷射炸弹的时间间隔")][FoldoutGroup("木马")]
|
||||
public float sprayBoomerTime;
|
||||
/// <summary>
|
||||
/// 喷射炸弹的方向
|
||||
/// </summary>
|
||||
[Header("喷射炸弹的方向")][FoldoutGroup("木马")]
|
||||
public Vector2 sprayBoomerDir;
|
||||
/// <summary>
|
||||
/// 喷射炸弹的力度倍数
|
||||
/// </summary>
|
||||
[Header("喷射炸弹的力度倍数")][FoldoutGroup("木马")]
|
||||
public float sprayBoomerMultiple;
|
||||
|
||||
// _____ _ _
|
||||
// | __ \ (_) | |
|
||||
@ -57,6 +77,10 @@ public class TrojanHorse : Enemy
|
||||
/// 召唤伊斯兰小怪的初始位置
|
||||
/// </summary>
|
||||
private Transform callYiSiLanPosition;
|
||||
/// <summary>
|
||||
/// 喷射炸弹的起点
|
||||
/// </summary>
|
||||
private Transform sprayBoomerPosition;
|
||||
|
||||
// _____ _ _ ____ _
|
||||
// / ____| | | | _ \ | |
|
||||
@ -68,6 +92,7 @@ public class TrojanHorse : Enemy
|
||||
void Start(){Init();}
|
||||
|
||||
void Update(){
|
||||
//如果开关开着,则移动
|
||||
if(isMove)
|
||||
Move();
|
||||
}
|
||||
@ -79,7 +104,9 @@ public class TrojanHorse : Enemy
|
||||
// | |\ | (_) | | | | | | | | (_| | |
|
||||
// |_| \_|\___/|_| |_| |_| |_|\__,_|_|
|
||||
private void Init(){
|
||||
//找到必须的组件和物体
|
||||
callYiSiLanPosition = transform.Find("小怪召唤点");
|
||||
sprayBoomerPosition = transform.Find("喷射炸弹点");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -90,9 +117,13 @@ public class TrojanHorse : Enemy
|
||||
yield return new WaitForSeconds(timeBetweenAttacks);
|
||||
//决定行动
|
||||
Action action = DecideAAction();
|
||||
//开始行动
|
||||
StartCoroutine(action());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 决定行动的函数
|
||||
/// </summary>
|
||||
private Action DecideAAction(){
|
||||
Action action;
|
||||
///从0、1、2中随机生成一种
|
||||
@ -103,7 +134,7 @@ public class TrojanHorse : Enemy
|
||||
action = SprayBoomer;
|
||||
else
|
||||
action = CallBoomer;
|
||||
return CallYiSiLan;
|
||||
return SprayBoomer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -131,8 +162,22 @@ public class TrojanHorse : Enemy
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private IEnumerator SprayBoomer(){
|
||||
yield return new WaitForEndOfFrame();
|
||||
Debug.Log("正在使用:喷射炸弹");
|
||||
//循环若干次(这里先硬编码成3次)
|
||||
for(int i = 0; i < 3; i++){
|
||||
//实例化预制体
|
||||
Bommer bommer = Instantiate(
|
||||
sprayBoomer,
|
||||
sprayBoomerPosition.position,
|
||||
Quaternion.identity
|
||||
).GetComponent<Bommer>();
|
||||
//初始化喷出的炸弹
|
||||
//给予初始的速度
|
||||
yield return new WaitForEndOfFrame();
|
||||
bommer.m_rigidbody.velocity = sprayBoomerDir * (i + 1) * sprayBoomerMultiple;
|
||||
//等待喷射炸弹时间间隔
|
||||
yield return new WaitForSeconds(sprayBoomerTime);
|
||||
}
|
||||
ATKEnd();
|
||||
}
|
||||
/// <summary>
|
||||
@ -182,4 +227,19 @@ public class TrojanHorse : Enemy
|
||||
/// 攻击结束的时候触发,重新开始新一轮攻击
|
||||
/// </summary>
|
||||
public void ATKEnd(){StartCoroutine(ATK());}
|
||||
|
||||
|
||||
// _____ _ __
|
||||
// |_ _| | | / _|
|
||||
// | | _ __ | |_ ___ _ __| |_ __ _ ___ ___
|
||||
// | | | '_ \| __/ _ \ '__| _/ _` |/ __/ _ \
|
||||
// _| |_| | | | || __/ | | || (_| | (_| __/
|
||||
// |_____|_| |_|\__\___|_| |_| \__,_|\___\___|
|
||||
|
||||
public void BeBoomed(float atk, int dir){
|
||||
OnBeHit(MyPlayer.AtkMethod.反弹炸弹,dir);
|
||||
}
|
||||
|
||||
public Transform ObjTransform(){return transform;}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ using Sirenix.OdinInspector;
|
||||
/// <summary>
|
||||
/// 伊斯兰小怪类
|
||||
/// </summary>
|
||||
public class YiSiLan : Enemy
|
||||
public class YiSiLan : Enemy, Bommer.I_CanBeBoomedObj
|
||||
{
|
||||
// _____ _ _ _
|
||||
// | __ \ | | | (_)
|
||||
@ -45,6 +45,7 @@ public class YiSiLan : Enemy
|
||||
/// <summary>
|
||||
/// 记录此时玩家是否在爆炸范围内
|
||||
/// </summary>
|
||||
[Header("记录此时玩家是否在爆炸范围内")][SerializeField][FoldoutGroup("伊斯兰")][ReadOnly]
|
||||
private bool canHitPlayer;
|
||||
|
||||
// _____ _ _ ____ _
|
||||
@ -89,15 +90,23 @@ public class YiSiLan : Enemy
|
||||
transform.rotation.z);
|
||||
}
|
||||
/// <summary>
|
||||
/// 伊斯兰爆炸的时候Call这个,通过协程触发,因为爆炸有个延时
|
||||
/// 碰到玩家的时候触发,伊斯兰爆炸的时候Call这个,通过协程触发,因为爆炸有个延时
|
||||
/// </summary>
|
||||
private void Boom(){
|
||||
OnDead();
|
||||
//
|
||||
deadRotationRangeMax *= 3;
|
||||
deadRotationRangeMin *= 3;
|
||||
hitToflyParameter *= 3;
|
||||
state = State.dead;
|
||||
OnBeHit(MyPlayer.AtkMethod.反弹炸弹,(target.position.x - transform.position.x > 0) ? 1:-1);
|
||||
// //让自己去世
|
||||
// OnDead();
|
||||
//判定能否攻击到玩家
|
||||
if(canHitPlayer){
|
||||
FindObjectOfType<MyPlayer>().OnBeHit(ATK,(target.position.x - transform.position.x > 0) ? -1:1);
|
||||
//加一个扭矩,营造死亡的效果
|
||||
m_rigidbody.AddTorque(Random.Range(deadRotationRangeMin,deadRotationRangeMax) *
|
||||
((target.position.x - transform.position.x > 0) ? -1:1));
|
||||
// //加一个扭矩,营造死亡的效果
|
||||
// m_rigidbody.AddTorque(Random.Range(deadRotationRangeMin,deadRotationRangeMax) *
|
||||
// ((target.position.x - transform.position.x > 0) ? -1:1));
|
||||
}
|
||||
}
|
||||
|
||||
@ -160,8 +169,27 @@ public class YiSiLan : Enemy
|
||||
//触发器代表炸弹范围,进入说明能炸到,离开说明炸不到了
|
||||
protected override void OnTriggerEnter2D(Collider2D other){
|
||||
base.OnTriggerEnter2D(other);
|
||||
canHitPlayer = true;
|
||||
if(other.gameObject.TryGetComponent<MyPlayer>(out MyPlayer player))
|
||||
canHitPlayer = true;
|
||||
}
|
||||
void OnTriggerExit2D(Collider2D other){canHitPlayer = false;}
|
||||
void OnTriggerExit2D(Collider2D other){
|
||||
if(other.gameObject.TryGetComponent<MyPlayer>(out MyPlayer player))
|
||||
canHitPlayer = false;
|
||||
}
|
||||
|
||||
|
||||
// _____ _ __
|
||||
// |_ _| | | / _|
|
||||
// | | _ __ | |_ ___ _ __| |_ __ _ ___ ___
|
||||
// | | | '_ \| __/ _ \ '__| _/ _` |/ __/ _ \
|
||||
// _| |_| | | | || __/ | | || (_| | (_| __/
|
||||
// |_____|_| |_|\__\___|_| |_| \__,_|\___\___|
|
||||
|
||||
public void BeBoomed(float atk, int dir){
|
||||
//需要重写
|
||||
OnBeHit(MyPlayer.AtkMethod.反弹炸弹,dir);
|
||||
}
|
||||
|
||||
public Transform ObjTransform(){return transform;}
|
||||
|
||||
}
|
BIN
Assets/Sprites/早期临时混乱/地面.png
Normal file
BIN
Assets/Sprites/早期临时混乱/地面.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
96
Assets/Sprites/早期临时混乱/地面.png.meta
Normal file
96
Assets/Sprites/早期临时混乱/地面.png.meta
Normal file
@ -0,0 +1,96 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04793ec80b1d3534a99686af8f3fb3af
|
||||
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:
|
BIN
Assets/Sprites/早期临时混乱/背景图.png
Normal file
BIN
Assets/Sprites/早期临时混乱/背景图.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
96
Assets/Sprites/早期临时混乱/背景图.png.meta
Normal file
96
Assets/Sprites/早期临时混乱/背景图.png.meta
Normal file
@ -0,0 +1,96 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0524a118693de844792a47d96c9f05c4
|
||||
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:
|
@ -27,10 +27,10 @@ EditorUserSettings:
|
||||
value: 224247031146466b011b0b2b1e301034131a112d25292824620d3207f5e53136d2f539a9c2223e31290eea2f4b1a2e0be50f0c05d7050306101af4011fc0311707c416c61fcc5109c51008d7
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-7:
|
||||
value: 22424703114646680e0b0227036c7b192c16162d1f3c2737281d1820f6ae2136ebf32f
|
||||
value: 22424703114646680e0b0227036c4b150503563f22213229
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-8:
|
||||
value: 22424703114646680e0b0227036c4b150503563f22213229
|
||||
value: 22424703114646680e0b0227036c7b192c16162d1f3c2737281d1820f6ae2136ebf32f
|
||||
flags: 0
|
||||
RecentlyUsedScenePath-9:
|
||||
value: 22424703114646680e0b0227036c6b153a021713251b32312a2c2936f1f47a2decee22f0
|
||||
|
Loading…
x
Reference in New Issue
Block a user