public IEnumerator Enumsdsdsdsd()
{
yield return new WaitForSeconds(0); // если будет тут то все запустится с первым апдейтом
for (int i = 0; i < playedXTimes; i++)
{
audioSource.clip = music; // это скорее всего не надо
audioSource.PlayOneShot(music);
}
yield return new WaitForSeconds(0); //если тут то все запустится при старте
}
private void PlayerRotating()
{
transform.rotation = Quaternion.Euler(0,_yaw , 0);
_camHolder.localRotation = Quaternion.Euler(_pitch, 0, 0); //_camHolder камера
}
private void InputRead()
{
_yaw += Input.GetAxis("Mouse X")*_speedRotate*Time.deltaTime;
_pitch -= Input.GetAxis("Mouse Y")*_speedRotate * Time.deltaTime;
}
Transform.LocalRotation = Quaternion.Euler(xRotation, 0f, 0f);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
SpriteRenderer rend;
rend.sortingOrder = (int)(transform.position.y*-10f);
private void Start()
{
anim = GetComponent();
rb = GetComponent();
}
anim = GetComponent<Animator>();
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D _rb2d;
[Header("MovemengSetting")]
[SerializeField] private float _speed=4f;
[SerializeField] private float _jumpPower = 3f;
private float _inputX;
private bool _isGrounded;
[Header("GroundSetting")]
[SerializeField] Transform _feetPos;
[SerializeField] float _checkRad;
[SerializeField] LayerMask _groundMask;
private Animator _animator;
private SpriteRenderer _spRend;
private void Start()
{
_rb2d = GetComponent<Rigidbody2D>();
_animator = GetComponent<Animator>();
_spRend = GetComponent<SpriteRenderer>();
}
private void Update()
{
InputRead();
PlayerFlip();
AnimatorUpdate();
}
private void AnimatorUpdate()
{
_animator.SetBool("isRunning",_inputX!=0);
_animator.SetBool("isJumping", _isGrounded);
}
private void InputRead()
{
_inputX = Input.GetAxis("Horizontal");
if (Input.GetKeyDown(KeyCode.Space)) TryJump();
}
private void TryJump()
{
if (_isGrounded) _rb2d.linearVelocityY=_jumpPower;
}
void PlayerFlip()
{
_spRend.flipX = _inputX < 0;
}
private void FixedUpdate()
{
_isGrounded=IsGround();
Movement();
}
bool IsGround() => Physics2D.OverlapCircle(_feetPos.position, _checkRad, _groundMask);
void Movement()
{
_rb2d.linearVelocityX = _inputX * _speed;
}
#if UNITY_EDITOR
private void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawSphere(_feetPos.position, _checkRad);
}
#endif
}
private void Update()
{
if(Input.GetMouseButtonDown(0))_system.gameObject.SetActive(true);
if (_system.gameObject.activeSelf) Debug.LogError("Enable");
}
rb = GetComponent(); //какой?
rb = GetComponent<Rigidbody2D>(); // надо
moveInput = Input.GetAxis("Horizontal");
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody2D _rb2d;
[SerializeField] private float _speed=2f;
private float _inputX;
private Vector2 _moveDir;
private void Start()
{
_rb2d = GetComponent<Rigidbody2D>();
}
private void Update()
{
_inputX = Input.GetAxis("Horizontal");
}
private void FixedUpdate()
{
_moveDir = transform.right * _inputX;
//_moveDir.y = _rb2d. linearVelocity.y // падение и прыжек пока выкл
_rb2d.linearVelocity= _moveDir*_speed;
}
}
public class Player:MonoBehaviour //скрипт игрока
{
public void Something() //метод в игроке который что то делает
{
}
}
public class TriggerZone : MonoBehaviour // скрипт на зоне
{
private void OnTriggerEnter(Collider other) // стандартный метод для триггера на вход объекта
{
if(other.TryGetComponent(out Player player)) //проверка что обьект содержит скрипт
{
player.Something(); //вызов метода из скрипта
}
}
}