Posted under Visual Basic
UserControl’ların istediğiniz bölümünü gösterme - MaskPicture
Usercontrol’ların VB’de oyun yapımında rol oynamamasının nedeni açıktır: içine image koyduğunuzda arka planı şeffaf gösterilmez. Fakan bir UserControl’un yapabileceklerini küçümsememek gerekir. İnsanların bilmediği ve kullanmadığı gizli bir kaç yöntem properties penceresinde, gözlerimizin önünde durmaktadır! Şöyle ki;
Öncelikle yeni bir UserControl oluşturacağız ve hemen Autoredraw özelliğini true(Her grafik uygulamasında bunu yapmayı unutmayın, müthiş işe yarıyor) yapacağız ve backstyle özelliğini transparent yapacağız. Şimdi bize hangi kısımların gösterilmeyeceğini belirten bir MaskPicture lazım. Bunun için bir örümcek adam edasıyla Empire States’in tepesinden firlayıp gelen süper kahraman Paint programını açı açıveriyoruz! Öncelikle hangi yerler şeffaf olacaksa oraları önceden belirlediğimiz bir renkle boyayıveriyoruz(mesela cortlak yeşil 0,255,0 ) gösterilecek olan yerleri ise herhangi başka bir renge gelişigüzel şeyettikten sonra bu resmi alıp şakkadanak usercontrol’un maskpicture’ına koyduktan sonra maskcolor özelliğinden de şeffaf olarak belirlediğimiz rengi seçiyoruz. Kontrolün picture özelliğine bir resim koyuyoruz. Kontrolümüzden forma bir adet yerleştiriyoruz ve tadaa! resmin yanlızca istediğiniz yerleri gözüküyor.Eğer maskpicture’um nesne büyüdükçe kendini onun boyuna göre ayarlasın derseniz de mask’ı paintpicture ile kontrol boyutlarında çizdirip sonra usercontrol.maskpicture=usercontrol.image komutunu deneyin(bunun olması için AutoRedraw’ın true olması lazım. Yaa, yaa ben ne dediydim)
Yani olay budur. Bu şekilde nesnelerinizi hazırlayıp sonra bunları program çalıştığı sırada array yöntemiyle çoğaltıp güzel oyunlar yapabilirsiniz. Umarım istediğiniz bilgiye ulaşmışsınızdır.