huso

Yeni üye
27 Eki 2015
46
2
0
(34) İstanbul Avrupa
Arkadaşlar selam, tasarladığım oyunda düşman karakteri yaralandığı zaman onu gelip alıp ekrandan dışar taşıyacak başka karakterler yaptım.

Yanlız şunu yapamadım, düşman karakteri ekranın neresinde yaralanırsa yaralansın onu ekrandan taşıyacak karakterler her zaman ekranın sağ tarafından ekrana girmeleri gerekiyor.

Convert Screen Location to World Space  gibi bir şeyle yapılıyor sanırım ama bir türlü çözemedim, sizce bunu nasıl yapabilirim ? 

Değerli cevaplarınız için şimdiden çok teşekkür ederim.
 
Hocam benim aklıma şöyle birler geldi söyleyim bu adamlar sonuçta otomatik olarak geliyor ya yaralı adamı alıyorlar ve sen hep ekranın sağ tarafından gelmesini istiyorsun ozaman senin yaralı karakterinin sağ tarafına bir referans noktası koyarsın ve biri yaralandığında o koyduğun referans noktasından spawn edersin böylece ekranın sağtarafından giriş yaparlar basitçe aklıma bu yol geldi
 
Karakterin rotasyonuna bak. Compare int ile 0'dan büyük veya eşit işe karakterin lokasyonuna +300 ekle, (örnek bir sayı) 0'dan küçük ise karakterin lokasyonundan 300 eksilt. (Örnek bir sayı) sonra name transformdan transforma bağla ve bu transformdan spawn et.
 
Ozzy' Alıntı:
Kamera bakış açışı önemli bir ayrıntı. Bir diğer önemli durum 2D mi 3D mi bunları söylerseniz yardımcı olabiliriz.

Çok teşekkür ederim, 2d side scroller türü bir oyun, sadece ek olarak kendim bir miktar z derinliği verdim, onun dışında 2d side scroller. Yaralanan karakter ekranın neresinde yaralanırsa yaralansın, onu götürecek adamlar hep yaralanma anında ekranın sağından içeri girsin istiyorum.


Yunusemre3456' Alıntı:
Karakterin rotasyonuna bak. Compare int ile 0'dan büyük veya eşit işe karakterin lokasyonuna +300 ekle, (örnek bir sayı) 0'dan küçük ise karakterin lokasyonundan 300 eksilt. (Örnek bir sayı) sonra name transformdan transforma bağla ve bu transformdan spawn et.

Teşekkür ederim cevap için, söylediğin mantıklı ama karakter ekranın neresinde yaralanırsa yaralansın onu götürecek karakterlerin hep o anda ekranın sağından girmesini istiyorum. Söylediğin gibi 300 eklersem ve karakter ekranın sağına yakın bir yerde yaralanırsa , onu taşıyacak karakterlerin ekrana girmesi için belli bir süre geçmesi gerekir çünkü ekranın sağ sınırından 300 birim ileride oluşurlar.
 
huso' Alıntı:
Ozzy' Alıntı:
Kamera bakış açışı önemli bir ayrıntı. Bir diğer önemli durum 2D mi 3D mi bunları söylerseniz yardımcı olabiliriz.

Çok teşekkür ederim, 2d side scroller türü bir oyun, sadece ek olarak kendim bir miktar z derinliği verdim, onun dışında 2d side scroller. Yaralanan karakter ekranın neresinde yaralanırsa yaralansın, onu götürecek adamlar hep yaralanma anında ekranın sağından içeri girsin istiyorum.


Yunusemre3456' Alıntı:
Karakterin rotasyonuna bak. Compare int ile 0'dan büyük veya eşit işe karakterin lokasyonuna +300 ekle, (örnek bir sayı) 0'dan küçük ise karakterin lokasyonundan 300 eksilt. (Örnek bir sayı) sonra name transformdan transforma bağla ve bu transformdan spawn et.

Teşekkür ederim cevap için, söylediğin mantıklı ama karakter ekranın neresinde yaralanırsa yaralansın onu götürecek karakterlerin hep o anda ekranın sağından girmesini istiyorum. Söylediğin gibi 300 eklersem ve karakter ekranın sağına yakın bir yerde yaralanırsa , onu taşıyacak karakterlerin ekrana girmesi için belli bir süre geçmesi gerekir çünkü ekranın sağ sınırından 300 birim ileride oluşurlar.



2D ise bahsettiğiniz gibi Convert Screen Location to World Space kullanmalısınız ama  x,y eksenlerine çözünürlük değiştikçe etkilenmemesi için manuel olarak değer girmek yerine Get Viewport düğümünü kullanmalısınız. Ben karakter üzerinde 1 tuşuna bastığım zaman spawn ettirdim siz yaralanma fonksiyonuna bağlarsınız.

Karakter ile aynı Z ekseninde spawn olması gerekiyor. Karakter(sprite) yukarı veya aşağı indiği zaman Z ekseni sabit kalmaz onun için ana karakterin veya sizde yaralanan karakterin z eksenini alın ki spawn olacak karakter ile aynı yükseklikte spawn olsun.

LvYGDV.png

 
Ozzy' Alıntı:
huso' Alıntı:
Çok teşekkür ederim, 2d side scroller türü bir oyun, sadece ek olarak kendim bir miktar z derinliği verdim, onun dışında 2d side scroller. Yaralanan karakter ekranın neresinde yaralanırsa yaralansın, onu götürecek adamlar hep yaralanma anında ekranın sağından içeri girsin istiyorum.



Teşekkür ederim cevap için, söylediğin mantıklı ama karakter ekranın neresinde yaralanırsa yaralansın onu götürecek karakterlerin hep o anda ekranın sağından girmesini istiyorum. Söylediğin gibi 300 eklersem ve karakter ekranın sağına yakın bir yerde yaralanırsa , onu taşıyacak karakterlerin ekrana girmesi için belli bir süre geçmesi gerekir çünkü ekranın sağ sınırından 300 birim ileride oluşurlar.



2D ise bahsettiğiniz gibi Convert Screen Location to World Space kullanmalısınız ama  x,y eksenlerine çözünürlük değiştikçe etkilenmemesi için manuel olarak değer girmek yerine Get Viewport düğümünü kullanmalısınız. Ben karakter üzerinde 1 tuşuna bastığım zaman spawn ettirdim siz yaralanma fonksiyonuna bağlarsınız.

Karakter ile aynı Z ekseninde spawn olması gerekiyor. Karakter(sprite) yukarı veya aşağı indiği zaman Z ekseni sabit kalmaz onun için ana karakterin veya sizde yaralanan karakterin z eksenini alın ki spawn olacak karakter ile aynı yükseklikte spawn olsun.

LvYGDV.png




Çok teşekkür ederim, Şu an bununla uğraşıyorum, aşağı yukarı oldu. Yanlız aklında olsun "Spawn Actor From Class" dan sonra da "Spawn Default Controller" eklemen gerekiyor çünkü bunu eklemediğin zaman Actorun özelliklerini almıyor, mesela yürümüyor, sabit duruyor yerinde. Aşağı yuları sorunum çözüldü gibi, sadece yaralanan karakterin  z pozisyonunu getiremedim nedense bir türlü, onu da çözünce hallolacak, çok teşekkür ederim :)


Yunusemre3456' Alıntı:

Dostum anlayamadım ne demek istediğini ?
 
p5mpqr.jpg
[/url][/img]

Yukarıda ki resimde ki gibi referans olarak çağırıyorum diğer karakterin worl location'ını ama nedense sadece sıfır değeri veriyor. Kendi blue printinin içinde değeri doğru veriyor, çağırdığım blueprint içinde sıfır veriyor, neden olabilir acaba  ?