private void Update() { float moveX = 0f; float moveY = 0f; if (Input.GetKey(KeyCode.W)) { moveY = +1f; } if (Input.GetKey(KeyCode.S)) { moveY = -1f; } if (Input.GetKey(KeyCode.A)) { moveX = -1f; } if (Input.GetKey(KeyCode.D)) { moveX = +1f; } moveDir = new Vector3(moveX, moveY).normalized; characterBase.PlayMoveAnim(moveDir); if (Input.GetKeyDown(KeyCode.Space)) { isDashButtonDown = true; } }
private void HandleMovement() { if (pathVectorList != null) { Vector3 targetPosition = pathVectorList[currentPathIndex]; if (Vector3.Distance(transform.position, targetPosition) > 1f) { Vector3 moveDir = (targetPosition - transform.position).normalized; float distanceBefore = Vector3.Distance(transform.position, targetPosition); characterBase.PlayMoveAnim(moveDir); transform.position = transform.position + moveDir * SPEED * Time.deltaTime; } else { currentPathIndex++; if (currentPathIndex >= pathVectorList.Count) { StopMoving(); characterBase.PlayIdleAnim(); } } } else { characterBase.PlayIdleAnim(); } }
private void HandleMovement() { float moveX = 0f; float moveY = 0f; if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) { moveY = +1f; } if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) { moveY = -1f; } if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { moveX = -1f; } if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { moveX = +1f; } Vector3 moveDir = new Vector3(moveX, moveY).normalized; bool isIdle = moveX == 0 && moveY == 0; if (isIdle) { playerBase.PlayIdleAnim(); } else { playerBase.PlayMoveAnim(moveDir); transform.position += moveDir * SPEED * Time.deltaTime; } }
private void Update() { switch (state) { case State.Normal: float moveX = 0f; float moveY = 0f; if (Input.GetKey(KeyCode.W)) { moveY = +1f; } if (Input.GetKey(KeyCode.S)) { moveY = -1f; } if (Input.GetKey(KeyCode.A)) { moveX = -1f; } if (Input.GetKey(KeyCode.D)) { moveX = +1f; } moveDir = new Vector3(moveX, moveY).normalized; if (moveX != 0 || moveY != 0) { // Not idle lastMoveDir = moveDir; } characterBase.PlayMoveAnim(moveDir); if (Input.GetKeyDown(KeyCode.F)) { isDashButtonDown = true; } if (Input.GetKeyDown(KeyCode.Space)) { rollDir = lastMoveDir; rollSpeed = 250f; state = State.Rolling; characterBase.PlayRollAnimation(rollDir); } break; case State.Rolling: float rollSpeedDropMultiplier = 5f; rollSpeed -= rollSpeed * rollSpeedDropMultiplier * Time.deltaTime; float rollSpeedMinimum = 50f; if (rollSpeed < rollSpeedMinimum) { state = State.Normal; } break; } }
private void HandleMovement() { if (Vector3.Distance(transform.position, targetPosition) > 1f) { Vector3 moveDir = (targetPosition - transform.position).normalized; playerBase.PlayMoveAnim(moveDir); transform.position += moveDir * SPEED * Time.deltaTime; } else { playerBase.PlayIdleAnim(); } }
private void FixedUpdate() { bool isIdle = moveDir.x == 0 && moveDir.y == 0; if (isIdle) { playerBase.PlayIdleAnim(); } else { playerBase.PlayMoveAnim(moveDir); //transform.position += moveDir * SPEED * Time.deltaTime; playerRigidbody2D.MovePosition(transform.position + moveDir * SPEED * Time.fixedDeltaTime); } }
private void Update() { Vector3 moveDir = Vector3.zero; if (waypointList != null && waypointList.Count > 0 && waypointIndex < waypointList.Count) { moveDir = (waypointList[waypointIndex] - transform.position).normalized; transform.position += moveDir * MOVE_SPEED * Time.deltaTime; float reachedWaypointDistance = .1f; if (Vector3.Distance(transform.position, waypointList[waypointIndex]) < reachedWaypointDistance) { waypointIndex++; } } characterBase.PlayMoveAnim(moveDir); }
private void FixedUpdate() { rigidbody2D.velocity = velocityVector * moveSpeed; characterBase.PlayMoveAnim(velocityVector); }
private void Update() { transform.position += velocityVector * moveSpeed * Time.deltaTime; characterBase.PlayMoveAnim(velocityVector); }
private void Start() { playerBase.PlayMoveAnim(Vector2.right); }
public void PlayMoveAnim(Vector3 moveDir) { characterAimBase.PlayMoveAnim(moveDir); playerBase.PlayMoveAnim(moveDir); }
private void Update() { switch (state) { case State.Normal: float moveX = 0f; float moveZ = 0f; if (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.UpArrow)) { moveZ = +1f; } if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow)) { moveZ = -1f; } if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow)) { moveX = -1f; } if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow)) { moveX = +1f; } moveDir = new Vector3(moveX, 0f, moveZ).normalized; if (moveX != 0 || moveZ != 0) { // Not idle lastMoveDir = moveDir; } //Vector2 moveDirVector2 = new Vector2(moveDir.x, moveDir.z); characterBase.PlayMoveAnim(moveDir); if (Input.GetKeyDown(KeyCode.F)) { isDashButtonDown = true; } if (Input.GetKeyDown(KeyCode.Space)) { rollDir = lastMoveDir; rollSpeed = 40f; state = State.Rolling; characterBase.PlayRollAnimation(rollDir); } break; case State.Rolling: float rollSpeedDropMultiplier = 5f; rollSpeed -= rollSpeed * rollSpeedDropMultiplier * Time.deltaTime; float rollSpeedMinimum = MOVE_SPEED; if (rollSpeed < rollSpeedMinimum) { state = State.Normal; } break; case State.Busy: break; } }