From 9b5476d72da8f05859bce6f1c0c7178c9c803b27 Mon Sep 17 00:00:00 2001 From: Giovani Date: Sat, 1 Feb 2020 10:29:31 -0500 Subject: [PATCH] Added player animation to script --- Assets/Scenes/LevelOne.unity | 49 ++++++------------ Assets/Scripts/BugMovement.cs | 2 +- Assets/Scripts/EventControlsDisplay.cs | 1 - Assets/Scripts/Player.cs | 44 ++++++++++++---- Assets/Sprites/Player/Player.controller | 68 +++++++++++++++++++++++-- 5 files changed, 113 insertions(+), 51 deletions(-) diff --git a/Assets/Scenes/LevelOne.unity b/Assets/Scenes/LevelOne.unity index 4b67efe..a54d416 100644 --- a/Assets/Scenes/LevelOne.unity +++ b/Assets/Scenes/LevelOne.unity @@ -168,6 +168,8 @@ MonoBehaviour: camera: {fileID: 1337282922} tile: {fileID: 11400000, guid: 7ece7857530facb42b843eed2526c86a, type: 2} framesPerControlTile: 15 + nextControlYOffset: 1 + nextControlXOffset: -2 --- !u!483693784 &1491656 TilemapRenderer: m_ObjectHideFlags: 0 @@ -500,11 +502,10 @@ GameObject: m_Component: - component: {fileID: 1671840917} - component: {fileID: 1671840920} - - component: {fileID: 1671840919} - component: {fileID: 1671840918} - component: {fileID: 1671840921} - - component: {fileID: 1671840922} - component: {fileID: 1671840923} + - component: {fileID: 1671840919} m_Layer: 10 m_Name: Player m_TagString: Untagged @@ -520,7 +521,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1671840916} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -15, y: -3, z: 0} + m_LocalPosition: {x: -4.5, y: -4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 1008122163} @@ -538,7 +539,7 @@ Rigidbody2D: m_Simulated: 1 m_UseFullKinematicContacts: 0 m_UseAutoMass: 0 - m_Mass: 1 + m_Mass: 2 m_LinearDrag: 0 m_AngularDrag: 0.05 m_GravityScale: 1 @@ -547,8 +548,8 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 1 m_Constraints: 4 ---- !u!60 &1671840919 -PolygonCollider2D: +--- !u!61 &1671840919 +BoxCollider2D: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -560,7 +561,7 @@ PolygonCollider2D: m_IsTrigger: 0 m_UsedByEffector: 0 m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} + m_Offset: {x: -0.01, y: 1.36} m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} pivot: {x: 0.5, y: 0} @@ -569,13 +570,10 @@ PolygonCollider2D: adaptiveTilingThreshold: 0.5 drawMode: 0 adaptiveTiling: 0 - m_AutoTiling: 0 - m_Points: - m_Paths: - - - {x: 0, y: 1} - - {x: -1, y: -0.00000004371139} - - {x: 0.00000008742278, y: -1} - - {x: 1, y: 0.000000011924881} + m_AutoTiling: 1 + serializedVersion: 2 + m_Size: {x: 0.9, y: 2.79} + m_EdgeRadius: 0 --- !u!212 &1671840920 SpriteRenderer: m_ObjectHideFlags: 0 @@ -614,7 +612,8 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 0bc163d589d23d04a981d50eee804428, type: 3} + m_Sprite: {fileID: 7394781096031462559, guid: f983f27dec2fe7c428c3a3ed78b900d1, + type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 @@ -641,24 +640,6 @@ MonoBehaviour: jumpSpeed: 30 runFasterFactor: 1.5 groundErrorThreshold: 0.05 ---- !u!68 &1671840922 -EdgeCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1671840916} - 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_EdgeRadius: 0 - m_Points: - - {x: -1, y: -1.01} - - {x: 1, y: -1.01} --- !u!95 &1671840923 Animator: serializedVersion: 3 @@ -1481,7 +1462,7 @@ TilemapRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_ChunkSize: {x: 32, y: 32, z: 32} - m_ChunkCullingBounds: {x: 0.5, y: 0.5, z: 0} + m_ChunkCullingBounds: {x: 0, y: 0, z: 0} m_MaxChunkCount: 16 m_MaxFrameAge: 16 m_SortOrder: 0 diff --git a/Assets/Scripts/BugMovement.cs b/Assets/Scripts/BugMovement.cs index 5de94ee..8ba32b7 100644 --- a/Assets/Scripts/BugMovement.cs +++ b/Assets/Scripts/BugMovement.cs @@ -7,7 +7,7 @@ public class BugMovement : MonoBehaviour [SerializeField] private float secondsGoingLeft = 1; [SerializeField] private float secondsGoingRight = 1; [SerializeField] private float movementSpeed = 10; - [SerializeField] PolygonCollider2D playerCollider; + [SerializeField] BoxCollider2D playerCollider; private int leftAccumalator = 0; private int rightAccumalator = 0; diff --git a/Assets/Scripts/EventControlsDisplay.cs b/Assets/Scripts/EventControlsDisplay.cs index 8ae3c4b..b80931b 100644 --- a/Assets/Scripts/EventControlsDisplay.cs +++ b/Assets/Scripts/EventControlsDisplay.cs @@ -19,7 +19,6 @@ public class EventControlsDisplay : MonoBehaviour private void Start() { tilemap = GetComponent(); - } private void Update() diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player.cs index 3c86371..d36ff54 100644 --- a/Assets/Scripts/Player.cs +++ b/Assets/Scripts/Player.cs @@ -9,14 +9,16 @@ public class Player : MonoBehaviour [SerializeField] private float runFasterFactor = 1.5f; [SerializeField] private float groundErrorThreshold = 0.01f; - private Rigidbody2D rigidbody; - private PolygonCollider2D collider; + private Rigidbody2D rigidBody; + private BoxCollider2D collider; + private Animator animator; private bool isInEncounter = false; private void Start() { - rigidbody = GetComponent(); - collider = GetComponent(); + rigidBody = GetComponent(); + collider = GetComponent(); + animator = GetComponent(); } private void Update() @@ -30,6 +32,8 @@ public class Player : MonoBehaviour { Jump(); Run(); + FlipSprite(); + MarkAsRunning(); } private void Jump() @@ -37,9 +41,9 @@ public class Player : MonoBehaviour // Jump if (Input.GetKey(KeyCode.Space) && IsPlayerOnGround()) { - rigidbody.velocity += new Vector2(0, jumpSpeed); - rigidbody.velocity = new Vector2(rigidbody.velocity.x, - Mathf.Clamp(rigidbody.velocity.y, 0, jumpSpeed)); + rigidBody.velocity += new Vector2(0, jumpSpeed); + rigidBody.velocity = new Vector2(rigidBody.velocity.x, + Mathf.Clamp(rigidBody.velocity.y, 0, jumpSpeed)); } } @@ -56,11 +60,11 @@ public class Player : MonoBehaviour // Run if (Input.GetKey(KeyCode.RightArrow)) { - rigidbody.velocity = new Vector2(actualRunSpeed, rigidbody.velocity.y); + rigidBody.velocity = new Vector2(actualRunSpeed, rigidBody.velocity.y); } else if (Input.GetKey(KeyCode.LeftArrow)) { - rigidbody.velocity = new Vector2(actualRunSpeed * -1, rigidbody.velocity.y); + rigidBody.velocity = new Vector2(actualRunSpeed * -1, rigidBody.velocity.y); } } @@ -76,6 +80,26 @@ public class Player : MonoBehaviour private bool HasEncounteredEnemy() { - return rigidbody.IsTouchingLayers(LayerMask.GetMask(LayerNames.Enemies)); + return rigidBody.IsTouchingLayers(LayerMask.GetMask(LayerNames.Enemies)); + } + + private void FlipSprite() + { + if (Mathf.Abs(rigidBody.velocity.x) > Mathf.Epsilon && (Input.GetKey(KeyCode.RightArrow) || Input.GetKey(KeyCode.LeftArrow))) + { + transform.localScale = new Vector2(Mathf.Sign(rigidBody.velocity.x), 1f); + } + } + + private void MarkAsRunning() + { + if (Mathf.Abs(rigidBody.velocity.x) > Mathf.Epsilon) + { + animator.SetBool("IsRunning", true); + } + else + { + animator.SetBool("IsRunning", false); + } } } diff --git a/Assets/Sprites/Player/Player.controller b/Assets/Sprites/Player/Player.controller index a5642f6..798b5bb 100644 --- a/Assets/Sprites/Player/Player.controller +++ b/Assets/Sprites/Player/Player.controller @@ -11,10 +11,10 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: -2991084837782200938} - m_Position: {x: 200, y: 0, z: 0} + m_Position: {x: 290, y: 190, z: 0} - serializedVersion: 1 m_State: {fileID: 218451160527659384} - m_Position: {x: 235, y: 65, z: 0} + m_Position: {x: 280, y: 10, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -35,7 +35,8 @@ AnimatorState: m_Name: JrDevIdle m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 6827210264901212170} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -59,7 +60,13 @@ AnimatorController: m_PrefabAsset: {fileID: 0} m_Name: Player serializedVersion: 5 - m_AnimatorParameters: [] + m_AnimatorParameters: + - m_Name: IsRunning + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: - serializedVersion: 5 m_Name: Base Layer @@ -83,7 +90,8 @@ AnimatorState: m_Name: JrDevRun m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: 3208414158787817513} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -99,3 +107,53 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &3208414158787817513 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: IsRunning + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -2991084837782200938} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 +--- !u!1101 &6827210264901212170 +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: IsRunning + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 218451160527659384} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1