quickL4t
Femtopat
- Katılım
- 16 Şubat 2024
- Mesajlar
- 35
Daha fazla
- Cinsiyet
- Erkek
Merhaba, Unity öğreniyorum ve şu an bir atak yapabilen ve yürüyebilen bir karakter oluşturdum. Birde koşma ekleyecektim fakat eklerken bir şey fark ettim, atak için E tuşuna basıyorum ve atak hareketini yapıp normal idle pozisyonuna geri geçiyor, koşmak içinse CTRL tuşuna basınca koşma animasyonuna geçiyor ama bu sefer atak animasyonunda ki gibi durmuyor.
Daha koşma kısmı tamamlanmadı. Yürürken koşmaya başlaması, durunca geri idle pozisyonuna geçme gibi şeyler ve hız artışı falan eklemedim henüz, sadece koşma kısmını yaparken atak ve koşma şeyleri arasında şu an bir fark görememe rağmen biri 1 defa olup biterken diğeri sürekli neden devam ediyor. Onu anlamaya çalışıyorum, yoksa herhangi bir sıkıntım yok diyebilirim.
Video: 1.87 MB file on MEGA
Daha koşma kısmı tamamlanmadı. Yürürken koşmaya başlaması, durunca geri idle pozisyonuna geçme gibi şeyler ve hız artışı falan eklemedim henüz, sadece koşma kısmını yaparken atak ve koşma şeyleri arasında şu an bir fark görememe rağmen biri 1 defa olup biterken diğeri sürekli neden devam ediyor. Onu anlamaya çalışıyorum, yoksa herhangi bir sıkıntım yok diyebilirim.
Yüklüyor…
www.veed.io
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class characterMove : MonoBehaviour
{
public float moveSpeed;
private Animator anim;
private Rigidbody2D rb2d;
float moveHorizontal;
public bool facingRight;
// Start is called before the first frame update
void Start()
{
moveSpeed = 3;
moveHorizontal = Input.GetAxis("Horizontal");
anim = GetComponent<Animator>();
rb2d = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
characterMovement();
characterAnimation();
characterAttack();
characterRun();
}
void characterMovement()
{
moveHorizontal = Input.GetAxis("Horizontal");
rb2d.velocity = new Vector2(moveHorizontal * moveSpeed, rb2d.velocity.y);
}
void characterAnimation()
{
if (moveHorizontal > 0)
{
anim.SetBool("isWalking", true);
}
if (moveHorizontal == 0)
{
anim.SetBool("isWalking", false);
}
if (moveHorizontal < 0)
{
anim.SetBool("isWalking", 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)){
anim.SetTrigger("isAttack");
}
}
void characterRun(){
if(Input.GetKeyDown(KeyCode.LeftControl)){
anim.SetTrigger("isRun");
}
}
}
Video: 1.87 MB file on MEGA
Son düzenleme: