Popüler Yayınımıza da Göz Atabilirsiniz
Unity ile Nesnelerin Çarpışma Hızını Bulmak
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba Herkese,
Mesela bir bombamız var eğer duvara çok hızlı çarpıyorsa bu duvarın yok olmasını ama yavaş çarparsa hiçbir şey olmasını istemez isek bunu Unity üzerinde nasıl yapabiliriz?
İlk olarak; objelerimizin çarpışmasını Unity üzerinde OnCollisionEnter (3d için) , OnCollisionEnter(2D için) algılıyorduk. Duvar nesnemizin scriptine gidip bu fonksiyonu yazıyoruz. Bu sayede çarpan nesneleri kod üzerinde algılayabiliriz.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D()
{
}
}
Evet Fonksiyonumuzu yazdık peki çarpan nesneyi nasıl anlayacağız. Onu ise parantez aralığına Collision2D coll yazarak. Artık duvara nesnenin ismi coll.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
}
}
Artık çarpma hızımızı algılayabiliriz. Bunun için relativeVelocity vektörünü kullanacağız.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.relativeVelocity.magnitude > 7f) {
Destroy(gameobject);
}
}
}
RelativeVelocity vektörü duvara çarpan nesnenin x,y,z ekseninde hareket vektörüdür. Magnitude dememizle birlikte bu vektörün uzunluğunu bulmuş oluyoruz yani duvara çarptığı anki hızını. If sayesinde kontrol ederek eğer 7f den büyükse objeyi yok et diyoruz.
Mesela bir bombamız var eğer duvara çok hızlı çarpıyorsa bu duvarın yok olmasını ama yavaş çarparsa hiçbir şey olmasını istemez isek bunu Unity üzerinde nasıl yapabiliriz?
İlk olarak; objelerimizin çarpışmasını Unity üzerinde OnCollisionEnter (3d için) , OnCollisionEnter(2D için) algılıyorduk. Duvar nesnemizin scriptine gidip bu fonksiyonu yazıyoruz. Bu sayede çarpan nesneleri kod üzerinde algılayabiliriz.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D()
{
}
}
Evet Fonksiyonumuzu yazdık peki çarpan nesneyi nasıl anlayacağız. Onu ise parantez aralığına Collision2D coll yazarak. Artık duvara nesnenin ismi coll.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
}
}
Artık çarpma hızımızı algılayabiliriz. Bunun için relativeVelocity vektörünü kullanacağız.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.relativeVelocity.magnitude > 7f) {
Destroy(gameobject);
}
}
}
RelativeVelocity vektörü duvara çarpan nesnenin x,y,z ekseninde hareket vektörüdür. Magnitude dememizle birlikte bu vektörün uzunluğunu bulmuş oluyoruz yani duvara çarptığı anki hızını. If sayesinde kontrol ederek eğer 7f den büyükse objeyi yok et diyoruz.
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Bu blogdaki popüler yayınlar
Başarı Not Ortalama Kaldı Geçti Uygulaması Hazır Ödev C#
Ödev cevaplarında, kişinin girdiği sınav notlarını tutarak onun, not ortalamasını hesaplama, sınıf dersi geçti kaldı ve öğrenci başarı durumu belirlemenin kodlarını göstereceğiz. İlk olarak not ortalamasını hesaplayalım Console .WriteLine( "Merhaba Hoş geldiniz Uygulamamıza" ); Console .WriteLine( "Vize notunuzu giriniz!" ); int vize_notu = Int32 .Parse( Console .ReadLine()); Console .WriteLine( "Final notunuzu giriniz!" ); int final_notu = Int32 .Parse( Console .ReadLine()); int not_ortalaması = vize_notu / 100 * 40 + final_notu / 100 * 60; Console .WriteLine( "Not Ortalamanız: " + not_ortalaması); Kullanıcının girdiği değerleri Console.Readline ile okuyup int değişkene dönüştürüyoruz. Daha sonra yüzdelerini alıp topluyoruz. Bu örnekte vize yüzdesi 40 , finalin yüzdesi...
C# Puan Tablosu Oluşturma
Merhaba arkadaşlar bugün sizlere bir menajer oyununda takımların puan tablosunu ve doğru biçimde sıralamayı nasıl yapacağımızı göstereceğim. Tabi bildiğimiz üzere ligde takımlar puanına göre sıralanıyor eşit olması durumunda ise averaj ve atılan gollere bakılıyor.Bizde bu sisteme göre yapacağız. Öncelikle böyle büyük çaplı bir menajer oyununda classları kullanmamız şarttır. Bize bir "Takım" adında class lazım , hemen oluşturalım. Bu oluşturduğumuz Takım class'ına IComparable interface'ni uygulayalım bu yapının bize verdiği CompareTo komutuyla işlemlerimizi kolaylıkla gerçekleştireceğiz. Eğer isterseniz hazırlamış olduğum football manager youtube serisinide kanalımdan izleyebilirsiniz. https://www.youtube.com/playlist?list=PLw919wW8ikxenpnSTVecZ-oWZjXbPwEDl public class Takim : IComparable { string takim_adi; int Puan; ...
C# İle Adam Asmaca Oyun Yapımı? Nasıl Yapılır?
C# oyun yapımı derslerinde Adam Asmaca oyunu yapımını öğreneceğiz. Basit bir görünüm kolay ve anlaşılır şekilde sizlere aktaracağım. Bu serinin tüm videolarını aşağı bıraktığım Youtube üzerinde yayınlamış olduğum seri ile rahatça erişebilir ve dinleyebilirsiniz. Ayrıca oyunun bitmiş halini de aşağıdaki linkten erişebilirsiniz. İndirme bağlantısı : https://yadi.sk/d/J9VbCaCTrYJf2

Yorumlar
Yorum Gönder