Arsen Lüpen
Hectopat
- Katılım
- 28 Şubat 2021
- Mesajlar
- 81
Daha fazla
- Cinsiyet
- Erkek
Kod:
float playerMovementX = Input.GetAxis("Horizontal") * playerMovementSpeed * Time.deltaTime;
float playerMovementY = Input.GetAxis("Vertical") * playerMovementSpeed * Time.deltaTime;
if (Input.GetKey(KeyCode.A))
{
isTurningLeft = true;
isTurningRight = false;
isTurningUp = false;
isTurningDown = false;
transform.Translate(-playerMovementX, 0, 0);
transform.rotation = Quaternion.Euler(0f, 0f, 180f);
}
else if (Input.GetKey(KeyCode.W))
{
isTurningUp = true;
isTurningDown = false;
isTurningLeft = false;
isTurningRight = false;
transform.Translate(playerMovementY, 0, 0);
transform.rotation = Quaternion.Euler(0f, 0f, 90f);
}
else if (Input.GetKey(KeyCode.D))
{
isTurningRight = true;
isTurningLeft = false;
isTurningUp = false;
isTurningDown = false;
transform.Translate(playerMovementX, 0, 0);
transform.rotation = Quaternion.Euler(0f, 0f, 0f);
}
else if (Input.GetKey(KeyCode.S))
{
isTurningDown = true;
isTurningUp = false;
isTurningLeft = false;
isTurningRight = false;
transform.Translate(-playerMovementY, 0, 0);
transform.rotation = Quaternion.Euler(0f, 0f, 270f);
}
Arkadaşlar yeni yeni öğreniyorum Unity ile oyun programlamayı. Bu şekilde bir kod yazdım ama anlamadığım şu karakteri ileri geri ilerletmek için playermovementy yi X eksenine yazmam gerekiyor. Karakterin yönünü döndürmek için böyle bir kod yazdım. Öncesinde ifler yoktu sade transform. Translate(playermovementx, playermovementy, 0) yaptığım zaman bir sorun yoktu. Anlamadığım için soruyorum. Bir de
Float playermovementx = ınput. Getaxis("horizontal") * playermovementspeed * time. Deltatime;
Float playermovementy = ınput. Getaxis("vertical") * playermovementspeed * time. Deltatime;
Bu şekilde kullanıcıdan bilgi alarak yazdığım kodun daha kolay bir hali var mı?