From e972ae1d8c62d14d4cdd0eb1dd35c3e83b27fab0 Mon Sep 17 00:00:00 2001 From: Vova Date: Sun, 25 Jun 2023 13:13:42 +0300 Subject: [PATCH] Create enemy --- Assets/Scenes/SampleScene.unity | 228 ++++++++++++++++++++++++++++++-- Assets/Scripts/Character.cs | 22 +-- Assets/Scripts/EnemyAI.cs | 7 + Assets/Scripts/EnemyAI.cs.meta | 11 ++ Assets/Scripts/Player.cs | 5 + 5 files changed, 254 insertions(+), 19 deletions(-) create mode 100644 Assets/Scripts/EnemyAI.cs create mode 100644 Assets/Scripts/EnemyAI.cs.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 3bc48b7..8288582 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -465,8 +465,92 @@ Transform: m_Children: - {fileID: 2122850634} m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &223833346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 223833347} + - component: {fileID: 223833348} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &223833347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 223833346} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 747593870} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &223833348 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 223833346} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + 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: -133646357 + m_SortingLayer: 2 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 75e389298ad4a4346ba49430514b0629, 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!1 &226430649 GameObject: m_ObjectHideFlags: 0 @@ -572,7 +656,7 @@ Transform: m_Children: - {fileID: 1872776175} m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &350695914 GameObject: @@ -1953,7 +2037,7 @@ Transform: - {fileID: 1744467216} - {fileID: 411449915} m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &700004592 GameObject: @@ -2060,8 +2144,136 @@ Transform: m_Children: - {fileID: 750461971} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &747593869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 747593870} + - component: {fileID: 747593873} + - component: {fileID: 747593872} + - component: {fileID: 747593871} + m_Layer: 0 + m_Name: Enemy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &747593870 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747593869} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.49, y: 3.44, z: 0.10115607} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 223833347} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &747593871 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747593869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 852eca26194d18e4fac550283d37f0a1, type: 3} + m_Name: + m_EditorClassIdentifier: + animator: {fileID: 1627236053} + MovementSpeed: 1.2 + ladderLayer: + serializedVersion: 2 + m_Bits: 64 + groundLayer: + serializedVersion: 2 + m_Bits: 8 + distance: 1 +--- !u!61 &747593872 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747593869} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + 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: 0.65, y: 1} + m_EdgeRadius: 0 +--- !u!50 &747593873 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 747593869} + 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_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 --- !u!1 &750461970 GameObject: m_ObjectHideFlags: 0 @@ -2221,7 +2433,7 @@ Transform: m_Children: - {fileID: 18018517} m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1173618891 GameObject: @@ -2271,7 +2483,7 @@ Transform: - {fileID: 1326326937} - {fileID: 1377373012} m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &1234867841 stripped Transform: @@ -3279,7 +3491,7 @@ Transform: m_Children: - {fileID: 1831985554} m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2122850633 GameObject: @@ -3435,7 +3647,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &7047733280813284351 PrefabInstance: diff --git a/Assets/Scripts/Character.cs b/Assets/Scripts/Character.cs index 3195b82..1f70cc6 100644 --- a/Assets/Scripts/Character.cs +++ b/Assets/Scripts/Character.cs @@ -25,37 +25,37 @@ public class Character : MonoBehaviour } - private void Update() + protected void MoveTo(float inputHorizontal,float inputVertical) { - float inputVertical = 0; - var groundCheck = Physics2D.BoxCast(_boxCollider.bounds.center, _boxCollider.bounds.size, 0f, Vector2.down, .1f, groundLayer); + float h_movement=0; + float v_movement=0; if (groundCheck || _isOnLadder) { _isFall = false; - float inputHorizontal = Input.GetAxisRaw("Horizontal"); - if (inputHorizontal > 0 && !_facingRight) + h_movement=inputHorizontal ; + if (h_movement > 0 && !_facingRight) { FlipCharacter(); } - if (inputHorizontal < 0 && _facingRight) + if (h_movement < 0 && _facingRight) { FlipCharacter(); } - animator.SetBool("Walk", inputHorizontal != 0); + animator.SetBool("Walk", h_movement != 0); if (IsLadder(Vector2.down)) { _isOnLadder = true; - inputVertical = Input.GetAxisRaw("Vertical"); + v_movement=inputVertical; - if (inputVertical > 0) + if (v_movement > 0) { if (!IsLadder(Vector2.up)) { - inputVertical = 0; + v_movement = 0; } } } @@ -63,7 +63,7 @@ public class Character : MonoBehaviour { _isOnLadder = false; } - _body.velocity = new Vector2(inputHorizontal * MovementSpeed, inputVertical * MovementSpeed); + _body.velocity = new Vector2(h_movement * MovementSpeed, v_movement * MovementSpeed); } else { diff --git a/Assets/Scripts/EnemyAI.cs b/Assets/Scripts/EnemyAI.cs new file mode 100644 index 0000000..2f41e48 --- /dev/null +++ b/Assets/Scripts/EnemyAI.cs @@ -0,0 +1,7 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EnemyAI :Character +{ +} diff --git a/Assets/Scripts/EnemyAI.cs.meta b/Assets/Scripts/EnemyAI.cs.meta new file mode 100644 index 0000000..3121864 --- /dev/null +++ b/Assets/Scripts/EnemyAI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 852eca26194d18e4fac550283d37f0a1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player.cs index d48d373..08c5b3d 100644 --- a/Assets/Scripts/Player.cs +++ b/Assets/Scripts/Player.cs @@ -28,4 +28,9 @@ public class Player : Character { return _hasKey; } + + private void Update() + { + base.MoveTo(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); + } }