Arkadaşlar ben pygame de bir resimin sadece orta kısmını rect olarak almak istiyorum nasıl yaparım @EkremDincel sana bir ara söylemiştim ama yapamadım
resim:
sadece kapıyı mı almak istiyorsun?_
aynen öyle boşlukta kapı olunca saçma oluyo
bir dakika deneyeceğim eğer olursa nasıl yapıldığını anlatırım
portal yapmak istiyorum kapı yerine ama bulamadım yardımcı olsan ya
pixel portal daha önce hiç görmedim
nasıl ya bulunur bakalım bi itch.o ya
olmuş mu canım
hahahahahahahhaha ya ben ne diyom sen ne diyon reis neyse birileri bir şey yazana kadar bekliyelim gel dcye
Surface sınıfının subsurface metodunu var bunun için.
nasıl kullanılıyor
…
bu rect almıyor ama bana rect lazım collide yapılmıyor bunla
bu resmi biçimlendiriyor galiba lütfen söyle başka yol yokmu
Rect ile baştan ortaya alıyorum yani belli kordinatlardan alamıyorum genişliği ve yüksekliği
Kapının tam orta noktasını hedef alabilirsin. Bir isabet kutusu oluşturacağız. hit box.
muhtemelen programında draw()
fonksiyonu vardır. draw()
fonksiyonu içerisine kapının olduğu resmin boyutlarını kontrol ederek bir orta nokta bulacağız.
Örneğin resim 100 genişlik 100 yükseklikte olsun. Bu resim içerisinde oluşturacağımız hit box koordinatları x = 50 y = 0
şeklinde olacak
Tam olarak bulduğumuz nokta işaretlediğim kısım olacak;
ardından işaretlediğimiz noktadan bir genişlik değerini deneyerek bulacağız. genişlik değerini kapının sağ ve sol ucuna göre düşüneceğiz. belirli derecede genişlik değerini arttırarak ulaşabiliriz.
Genişlik değerini bulduktan sonra, yüksekliğini hesaplayacağız fakat yüksekliğini hesaplamamız için y koordinatını değiştirmemiz gerekiyor yoksa yüksekliğin yarısını kapının altına yarısını kırmızı işaretlediğim noktanın üstüne yapar. O da şöyle görünür;
Böyle görünmemesi için y koordinatını kapının tam ortasına gelecek şekilde göz kararı arttır ve deneyerek tam sonuca ulaştıktan sonra yükseklik değerini de doğru şekilde verdiğimiz de olmasını istediğimiz şu sonucu elde etmiş olacağız;
ve böylelikle hitbox kapının çevresini tamamen çizmiş oldu. şimdi tek gereken şey hitbox ile karakter etkileşime girdiğinde ya da çarptığında teleport etmesi olacak. onu da hali hazırda teleport eden fonksiyonunu kopyalayıp bir
collision()
fonksiyonu oluşturarak içerisine if bloklarını kullanıp karakter hitbox ile dokunduğunda teleport edecek
olduuu be adamsın reisss hiç aklıma gelmedi techwithtim deki hitbox
Olum diyorum sana acele ettirme beni az sabret sana çok faydalı olacağım eğitim bitince
yyyeysssss beee olduuuuu loldduuuuuu