Ahmet Efe11
Femtopat
- Katılım
- 18 Ağustos 2023
- Mesajlar
- 27
Daha fazla
- Cinsiyet
- Erkek
Kodlarım bu:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterMoves : MonoBehaviour
{
public float moveSpeed = 5f; // Karakterin hareket hızı
public float jumpForce = 10f; // Zıplama kuvveti
public bool isGrounded = false; // Zeminde olup olmadığını kontrol etmek için bayrak
public bool isRunning = false; // Koşma durumunu kontrol etmek için bayrak
private Rigidbody2D rb;
private Animator anim;
private void Start()
{
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
private void Update()
{
float moveDirection = Input.GetAxisRaw("Horizontal"); // Yatay eksen üzerinde girişi al
Move(moveDirection); // Hareketi uygula
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
Jump();
}
}
private void Move(float direction)
{
rb.velocity = new Vector2(direction * moveSpeed, rb.velocity.y); // Hareketi uygula
if (direction != 0)
{
isRunning = true; // Koşma durumunu kontrol et
anim.SetBool("wariormove", true); // Koşma animasyonunu başlat
}
else
{
isRunning = false; // Koşma durumunu kontrol et
anim.SetBool("wariormove", false); // Koşma animasyonunu durdur
}
if (direction > 0)
{
transform.localScale = new Vector3(1, 1, 1); // Sağa bak
}
else if (direction < 0)
{
transform.localScale = new Vector3(-1, 1, 1); // Sola bak
}
}
private void Jump()
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce); // Zıplama kuvveti uygula
anim.SetTrigger("Jump"); // Zıplama animasyonunu başlat
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Ground"))
{
isGrounded = true;
anim.SetBool("isGrounded", true); // Zeminde olduğunu Animator'a ileti
}
}
private void OnCollisionExit2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Ground"))
{
isGrounded = false;
anim.SetBool("isGrounded", false); // Zeminde olmadığını Animator'a ileti
}
}
}
Ben hatayı bulamadım bulan biri varsa yardımcı olabilir mi?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterMoves : MonoBehaviour
{
public float moveSpeed = 5f; // Karakterin hareket hızı
public float jumpForce = 10f; // Zıplama kuvveti
public bool isGrounded = false; // Zeminde olup olmadığını kontrol etmek için bayrak
public bool isRunning = false; // Koşma durumunu kontrol etmek için bayrak
private Rigidbody2D rb;
private Animator anim;
private void Start()
{
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
private void Update()
{
float moveDirection = Input.GetAxisRaw("Horizontal"); // Yatay eksen üzerinde girişi al
Move(moveDirection); // Hareketi uygula
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
Jump();
}
}
private void Move(float direction)
{
rb.velocity = new Vector2(direction * moveSpeed, rb.velocity.y); // Hareketi uygula
if (direction != 0)
{
isRunning = true; // Koşma durumunu kontrol et
anim.SetBool("wariormove", true); // Koşma animasyonunu başlat
}
else
{
isRunning = false; // Koşma durumunu kontrol et
anim.SetBool("wariormove", false); // Koşma animasyonunu durdur
}
if (direction > 0)
{
transform.localScale = new Vector3(1, 1, 1); // Sağa bak
}
else if (direction < 0)
{
transform.localScale = new Vector3(-1, 1, 1); // Sola bak
}
}
private void Jump()
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce); // Zıplama kuvveti uygula
anim.SetTrigger("Jump"); // Zıplama animasyonunu başlat
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Ground"))
{
isGrounded = true;
anim.SetBool("isGrounded", true); // Zeminde olduğunu Animator'a ileti
}
}
private void OnCollisionExit2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Ground"))
{
isGrounded = false;
anim.SetBool("isGrounded", false); // Zeminde olmadığını Animator'a ileti
}
}
}
Ben hatayı bulamadım bulan biri varsa yardımcı olabilir mi?