movement script
it doesnt work cs0103 the name transform doesnt existunknown
csharp
2 years ago
1.4 kB
7
Indexable
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Hero : MonoBehaviour { [SerializeField] private float speed = 3; [SerializeField] private float jumpForce = 15f; [SerializeField] private int lives = 5; private bool isGrounded = false; private Rigidbody2D rb; private SpriteRenderer sprite; private void Awake() { rb = GetComponent<Rigidbody2D>(); sprite = GetComponentInChildren<SpriteRenderer>(); } private void Update() { if (Input.GetButton("Horizontal")) Run(); if (isGrounded && Input.GetButtonDown("Jump")) Jump(); } private void Run() { Vector3 dir = transform.right * Input.GetAxis("Horizontal"); tranform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime); sprite.flipX = dir.x < 0.0f; } private void Jump() { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } private void CheckGround() { Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f); isGrounded = collider.Length > 1; } private void FixedUpdate() { CheckGround(); } }
Editor is loading...