using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class obje_hareket : MonoBehaviour
{
//kod kısmında obje adında yeni bir gameobject oluşturuyoruz
public GameObject obje;
//objemize float değişkeninde bir hız tanımladık
public float speed;
//objemize float değişkeninde bir zıplama gücü ekledik
public float jump_power;
//kod kısmında rigidbody oluşturduk ancak başına private koyduğumuz için buna unity den erişemiyeceğiz
private Rigidbody yer_cekimi;
//burda karekterimizin yere değip değmediğini algıladık çünkü karaktermiz havadeyken bir daha zıplayabilecek
public bool onGround;
// Start is called before the first frame update
void Start()
{
//yer çekimi = objenin içindeki yer çekimine eşitledik
yer_cekimi = obje.GetComponent<Rigidbody>();
//başlangıçta onGround true olsun dedik
onGround = true;
}
// Update is called once per frame
void Update()
{
//eğer(if) klavyeden w tuşuna basılırsa(Input.GetKey(KeyCode.W)) SÜSLÜ PARENTEZİN İÇİNDEKİLER OLUCAK
//BEN NE İSTİYORUM W TUŞUNA BASILIRSA İLERİYE GİTSİN O YÜZDEN BU KODU YAZALIM
if (Input.GetKey(KeyCode.W))
{
//z ileri geri - y yukarı aşşağı - x sağ sol
//obje z yönünde zamana bağlı kalarak speed hızıyla gitsin
obje.transform.Translate(0, 0, Time.deltaTime * speed);
}
//şimdi s ye basılırsada bunun tam tersi olmasını istiyorum hemen bunuda yapalım
//eğer(if) klavyeden s tuşuna basılırsa(Input.GetKey(KeyCode.S)) SÜSLÜ PARENTEZİN İÇİNDEKİLER OLUCAK
if (Input.GetKey(KeyCode.S))
{
//z ileri geri - y yukarı aşşağı - x sağ sol
//obje -z yönünde zamana bağlı kalarak speed hızıyla gitsin
obje.transform.Translate(0, 0, Time.deltaTime * -speed);
}
//eğer(if) klavyeden a tuşuna basılırsa(Input.GetKey(KeyCode.A)) SÜSLÜ PARENTEZİN İÇİNDEKİLER OLUCAK
if (Input.GetKey(KeyCode.A))
{
//z ileri geri - y yukarı aşşağı - x sağ sol
//obje -x yönünde zamana bağlı kalarak speed hızıyla gitsin
obje.transform.Translate(Time.deltaTime * -speed, 0, 0);
}
//eğer(if) klavyeden d tuşuna basılırsa(Input.GetKey(KeyCode.D)) SÜSLÜ PARENTEZİN İÇİNDEKİLER OLUCAK
if (Input.GetKey(KeyCode.D))
{
//z ileri geri - y yukarı aşşağı - x sağ sol
//obje x yönünde zamana bağlı kalarak speed hızıyla gitsin
obje.transform.Translate(Time.deltaTime * speed, 0, 0);
}
//eğer(if) klavyeden space tuşuna basılırsa(Input.GetKey(KeyCode.SPACE)) SÜSLÜ PARENTEZİN İÇİNDEKİLER OLUCAK
//if onGround doğruysa yani yere değiyorsa
if (Input.GetKey(KeyCode.Space) && onGround == true)
{
//zıplasın
yer_cekimi.velocity = new Vector3(0f, jump_power, 0f);
//onground yani yere değmesi false olsun
onGround = false;
}
}
public void OnCollisionEnter(Collision obje_col)
{
//eğer objemiz zemin tagı olan bir objeye değiyorsa onGround true olsun
if (obje_col.collider.tag == "zemin")
{
onGround = true;
}
//eğer objemiz zemin tagı olan bir objeye değmiyorsa onGround false olsun
else
{
onGround = false;
}
}
}