Merhabalar İlk Önce Hierarchy De farenin sağ Tuşu ile bir boş gameobject oluşturuyoruz .
Daha sonra Project Bölümünde farenin sağtuşu ile boş bir dosya açıp adına Prefabs Adını veriyoruz.
Oluşturucağımız bombayı ve bombanın particleeffect ini buraya koyacağız.
Hıerarchy bölümünde farenin sağ tuşuna basıp bir sphere(Küre) oluşturuyoruz.
Bunu bomba olarak Kullanacağız Ama elinizde üç boyutlu bomba objesi varsa siz onu kullanabilirsiniz.
sphere(küre) nin adını değiştirip Bomb Yapıyoruz.
Project Bölümüne gelip farenin sağ tuşuyla folder(Boş Dosya) oluşturuyoruz Ben Adını
Script Verdim.
script dosyasının içine giriyoruz farenin sağ tuşuna tıklayıp C# dosyası oluşturuyoruz.
Ben C# dosyasının adını Bomb Koydum.
C# dosyasını açın içine alttaki verdiğim kodu yapıştırın ve kaydedin.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bomb : MonoBehaviour
{
public GameObject BulletParticle;
public float speed = 25;
Rigidbody Rb;
void Start()
{
Rb = GetComponent<Rigidbody>();
Rb.AddForce(transform.forward * speed, ForceMode.VelocityChange);
}
void OnCollisionEnter(Collision C)
{
if (C.gameObject.name != "")
{
Destroy(gameObject);
Instantiate(BulletParticle, transform.position, transform.rotation);
}
}
}
Unity 3d ye geri dönün Oluşturduğumuz Sphere (Küre) ye Rigidbody ve oluşturduğumuz bomb kodunu ekleyin.
Hierarchy de farenin sağ tuşuna tıklayıp bir particlesystem oluşturun yada asset storeden güzel bir patlama efekti indirin onu koddaki BulletParticle nin içine atın
Script Dosyasında Bir C# kodu daha Oluşturun onun adınada BombaSpawn adını verin ve Alttaki kodu Oluşturduğunuz Scripte Yapıştırın.
BU KODDAKİ BOMBA SINIRSIZDIR İSTEDİĞİNİZ KADAR BOMBA ATAR.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BombaSpawn : MonoBehaviour
{
public GameObject Bomb;
public float BombTime = 1;
public float BombTimer = 1;
public bool Fire = false;
void Update()
{
if (Fire)
{
BombTime -= Time.deltaTime;
}
if (BombTime <= 0)
{
Fire = false;
BombTime = BombTimer;
}
if (Input.GetMouseButton(0) && BombTime >= BombTimer)
{
Fire = true;
Instantiate(Bomb, transform.position, transform.rotation);
}
}
}
C# Kod 2 BU KODDA BOMBA SINIRLIDIR. KODDAKİ BOMBA ADETE HANGİ RAKAMI GİRERSENİZ O KADAR BOMBA ATAR
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BombaSpawn : MonoBehaviour
{
public GameObject Bomb;
public float BombTime = 1;
public float BombaAdet = 2;
public bool Fire = false;
void Update()
{
if (Fire)
{
BombTime -= Time.deltaTime;
}
if (BombTime <= 0)
{
Fire = false;
BombTime = 1;
}
if (Input.GetMouseButton(0) && BombTime >= 1 && BombaAdet > 0)
{
Fire = true;
BombaAdet--;
Instantiate(Bomb, transform.position, transform.rotation);
}
}
}
Bu kodu Oluşturduğumuz SpawnObject in içine Atın.
Oluşturduğumuz bombayı ve bomba bomba efektini Oluşturduğumuz Prefabs Dosyasının içine atın daha sonra BombaSpawn kodundaki Bomb bölümüne oluşturduğumuz bombayı atıyoruz.
oyunu başlatın ve farenin sol tuşuna bastığınızda bombayı fırlatacak .
Eğer Dediklerimi uygulayıp Yapamadıysanız Yorum Atmayı Unutmayınız.