Merhaba arkadaşlar. Ben bir oyun yapıyorum ve ayarlar menüsünü olabildiğince kolay ve diğer oyunlardaki gibi (Far Cry Primal) yapmak istiyorum. Grafik ayarları arasında sağ sol butonlarına basarak grafik değiştirmeyi yaptım ancak şöyle bir sıkıntım var. İlk önce Ayarlar Widget BP'si yaptım. İçine de bir arkadaşımın önerisiyle gereken Grafik Ayarları menüsünü Widget BP'nin sağına yaptım. Yani sol tarafta "Ekran, Ses, Grafikler", sağda da görünürlüğünü gizli olarak ayarladığım Grafikler ve Ses alt menüsü var. Ben Grafiklere basarsam Grafikler'in görünürlüğünü Show, Ses'inkini Hidden olarak ayarlamasını yaptım. Ancak sıkıntılarım şunlar:
1- İlk önce şöyle yapmak istiyorum. Oyun anında ESC'ye basarsam Ayarlar menüsü gelsin. Tekrar ESC'ye basarsam oyuna geri dönsün. Eğer bir alt menüye girdiysem orada ESC'ye bastığımda alt menü silinsin ve Grafikler, Ekran gibi ayarlar kalsın istiyorum. Ozaman da ESC'ye basarsam oyuna geri dönsün. Ama Widget BP içinde oyuna dönmek için "Was Input Just Key Pressed" node'u ile yaptığım zaman oyun anında Ayarlar menüsüne geçiyor sorun yok, ama hemen anında geri oyuna dönüyor. Yani Widget BP, önceden basıldığı için kendindeki fonksiyonu da devreye sokuyor. Bu yüzden yapabilirsem sadece ThirdPerson Character BP içinden yapabilirim. Character BP içinden yaparken aralarındaki sınıflandırmayı "Menü Katmanı" adındaki bir integer ile yapıyorum. Mesela L'ye bastığında Branch koyuyorum ve Condition kısmına Menü katmanı Equal 0 yapıyorum. True ise Set Menü Katmanı yapıyorum ve +1 yapıyorum. Equal 0 False ise bir tane Branch'le Equal 2 yapıyorum. Eğer True ise Set Menü Katmanından -1 yapıyorum. Event Tick ile de Branch koyuyorum ve Equal 0 ise Set Game Paused F, Set Show Mouse Cursor False ve Remove From Parent'ın Target'ını Create Widget Options'un Output bölümündeki Target'ı yapıyorum. Eğer Equal 0 false ise Branch'le Equal 1 yapıyorum ve True ise Create Widget Options yapıyorum ve devamına Add to Viewport, Set Show Mouse Cursor T, Set Game Paused T yapıyorum. Ancak oyuna girdiğim zaman Ayarlar Menüsüne giriliyor fakat geri çıkamıyorum. Oyunu Stop ettiğim zaman Error'lar geliyor ve hepsi Remove From Target'la ilgili. Ben de Target'ını Cast To Options yaparak oradaki Output'a bağlıyorum. Cast To'nun başlangıcını Branch'in True'suna bağlıyorum. Output kısmındaki Finish'i ise Remove From Parent'a bağlıyorum. Ancak Cast To Options'ın Object'ini ne denediysem bulamadım. Yardımcı olursanız sevinirim.
2- Birinci sorunum şuan daha önemli ama çözdükten sonra bu sorum da çok önemli. Şimdi ben Mouse'la Grafikleri falan değiştirip menüden menüye atlıyorum ancak bunu klavye ile renkli bir şekilde yapmak istiyorum çünkü klavyesiz yönetilen bir Ayarlar Menüsü olmasın daha iyi
. Bunu nasıl yapabilirim? Sağ sola falan bastığımda butonlar arası geçiş yapıyor hoş ama ben bir Grafik ayarına geldiğimde sağ solla ayar değiştirsin istiyorum yani butonları arası gezsin istemiyorum. Onu nasıl yapabilirim?
Yardımlarınız için şimdiden teşekkür ederim.
1- İlk önce şöyle yapmak istiyorum. Oyun anında ESC'ye basarsam Ayarlar menüsü gelsin. Tekrar ESC'ye basarsam oyuna geri dönsün. Eğer bir alt menüye girdiysem orada ESC'ye bastığımda alt menü silinsin ve Grafikler, Ekran gibi ayarlar kalsın istiyorum. Ozaman da ESC'ye basarsam oyuna geri dönsün. Ama Widget BP içinde oyuna dönmek için "Was Input Just Key Pressed" node'u ile yaptığım zaman oyun anında Ayarlar menüsüne geçiyor sorun yok, ama hemen anında geri oyuna dönüyor. Yani Widget BP, önceden basıldığı için kendindeki fonksiyonu da devreye sokuyor. Bu yüzden yapabilirsem sadece ThirdPerson Character BP içinden yapabilirim. Character BP içinden yaparken aralarındaki sınıflandırmayı "Menü Katmanı" adındaki bir integer ile yapıyorum. Mesela L'ye bastığında Branch koyuyorum ve Condition kısmına Menü katmanı Equal 0 yapıyorum. True ise Set Menü Katmanı yapıyorum ve +1 yapıyorum. Equal 0 False ise bir tane Branch'le Equal 2 yapıyorum. Eğer True ise Set Menü Katmanından -1 yapıyorum. Event Tick ile de Branch koyuyorum ve Equal 0 ise Set Game Paused F, Set Show Mouse Cursor False ve Remove From Parent'ın Target'ını Create Widget Options'un Output bölümündeki Target'ı yapıyorum. Eğer Equal 0 false ise Branch'le Equal 1 yapıyorum ve True ise Create Widget Options yapıyorum ve devamına Add to Viewport, Set Show Mouse Cursor T, Set Game Paused T yapıyorum. Ancak oyuna girdiğim zaman Ayarlar Menüsüne giriliyor fakat geri çıkamıyorum. Oyunu Stop ettiğim zaman Error'lar geliyor ve hepsi Remove From Target'la ilgili. Ben de Target'ını Cast To Options yaparak oradaki Output'a bağlıyorum. Cast To'nun başlangıcını Branch'in True'suna bağlıyorum. Output kısmındaki Finish'i ise Remove From Parent'a bağlıyorum. Ancak Cast To Options'ın Object'ini ne denediysem bulamadım. Yardımcı olursanız sevinirim.
2- Birinci sorunum şuan daha önemli ama çözdükten sonra bu sorum da çok önemli. Şimdi ben Mouse'la Grafikleri falan değiştirip menüden menüye atlıyorum ancak bunu klavye ile renkli bir şekilde yapmak istiyorum çünkü klavyesiz yönetilen bir Ayarlar Menüsü olmasın daha iyi
Yardımlarınız için şimdiden teşekkür ederim.