Bertyy
Centipat
- Katılım
- 14 Haziran 2023
- Mesajlar
- 43
Daha fazla
- Cinsiyet
- Erkek
Abiler ben oyun yapmak istiyordum. Yapmaya başladım, hep ufak tefek sıkıntılar alıyorum ama sonucunda yardımla çözüyordum. Ama bu sefer ne yaparsam yapayım çözemiyorum. Aldığım hatayı aşağı bıraktım.
Allah için biri Şuradaki hatamı söyleyebilir mi? Her şeyi denedim. Dediği yerdeki parantezi sildim yenisini koydum kapatamadığım yerleri kapattım ama bir türlü çözemedim. Bir bakar mısınız?
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterMove : MonoBehaviour
{
// Start is called before the first frame update
public float moveSpeed;
private Animator Anim;
private Rigidbody2D rb2D;
float moveHorizontal;
public bool facingRight;
public float jumpForce;
public bool İsGrounded;
public bool canDoubleJump;
void Start()
{
moveSpeed = 5;
moveHorizontal = Input.GetAxis("Horizontal");
Anim = GetComponent<Animator>();
rb2D = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
CharacterMovement();
CharacterAnimation();
CharacterAttack();
CharacterRunAttack();
CharacterJump();
}
void CharacterMovement()
{
moveHorizontal = Input.GetAxis("Horizontal");
rb2D.velocity = new Vector2(moveHorizontal * moveSpeed, rb2D.velocity.y);
}
void CharacterAnimation()
{
if (moveHorizontal > 0)
{
Anim.SetBool("İsRunning", true);
}
if (moveHorizontal == 0)
{
Anim.SetBool("İsRunning", false);
}
if (moveHorizontal < 0)
{
Anim.SetBool("İsRunning", true);
}
if (facingRight == false && moveHorizontal > 0)
{
CharacterFlip();
}
if (facingRight == true && moveHorizontal < 0)
{
CharacterFlip();
}
}
void CharacterFlip()
{
facingRight = !facingRight;
Vector3 scaler = transform.localScale;
scaler.x *= -1;
transform.localScale = scaler;
}
void CharacterAttack()
{
if (Input.GetKeyDown(KeyCode.E) && moveHorizontal == 0)
{
Anim.SetTrigger("İsAttack");
}
}
void CharacterRunAttack()
{
if (Input.GetKeyDown(KeyCode.E) && moveHorizontal > 0 || Input.GetKeyDown(KeyCode.E) && moveHorizontal < 0)
{
Anim.SetTrigger("İsRunAttack");
}
}
void CharacterJump()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Anim.SetBool("İsJumping", true);
if (İsGrounded)
{
rb2D.velocity = Vector2.up * jumpForce;
canDoubleJump = true;
}
else if (canDoubleJump)
{
jumpForce = jumpForce / 1.5f;
rb2D.velocity = Vector2.up * jumpForce;
canDoubleJump = false;
jumpForce = jumpForce * 1.5;
}
}
void OnCollisionEnter2D(Collision2D col)
{
Anim.SetBool("İsJumping", false);
if (col.gameObject.tag == "Grounded")
{
İsGrounded = true;
}
}
void OnCollisionStay2D(Collision2D col)
{
Anim.SetBool("İsJumping", false);
if (col.gameObject.tag == "Grounded")
{
İsGrounded = true;
}
}
void OnCollisionExit2D(Collision2D col)
{
Anim.SetBool("İsJumping", true);
if (col.gameObject.tag == "Grounded")
{
İsGrounded = false;
}
}
}
Allah için biri Şuradaki hatamı söyleyebilir mi? Her şeyi denedim. Dediği yerdeki parantezi sildim yenisini koydum kapatamadığım yerleri kapattım ama bir türlü çözemedim. Bir bakar mısınız?
Son düzenleyen: Moderatör: