Bu yazıyı okumadan önce XNA ile Oyun Programlama kategorisindeki diğer yazılarımı okumanızı tavsiye ederim.
Belli bir seviyenin üstündeki her oyunda, oyunu tanıtan, oyuna alışmanızı sağlayan, oyunun hikayesini anlatan veya bölümler arasında bilgi veren videolar vardır.
Oyunun kullanıcılarına, oyunun konusunu okumaları için sayfalarca yazı vermektense, kısa bir video ile anlatmak her zaman daha iyidir.
XNA ile bir video nasıl oynatılır?
Öncelikle oyunumuza ekleyeceğimiz video’nun formatına dikkat etmemiz gerekiyor. Varsayılan olarak, XNA Content Pipeline sadece WMV formatındaki videoları destekler.
Bir video’yu oyun penceresinde oynatmak için, öncelikle Video sınıfından bir instance‘a oynatacağımız video‘yu yüklememiz lazım.
Daha sonra, XNA Framework ile birlikte gelen VideoPlayer sınıfından bir instance ile, yüklediğimiz video‘yu oynatmaya başlayabiliriz.
Sınıf seviyesinde iki değişken tanımlayarak işe başlıyoruz;
Video v; VideoPlayer vp;</pre>
LoadContent() method’unda değişkenlerimize değer atamalarını yapıyoruz;
v = Content.Load<Video>("OyunBaslangicVideo"); vp = new VideoPlayer(); vp.Play(v);
VideoPlayer tipindeki değişkenin Play() method’unu çağırarak video dosyamızın oynatılmasını sağlıyoruz.
Artık tek yapmamız gereken, Draw() method’unda, oynatılan video‘yu kare kare oyun penceresine çizmek;
spriteBatch.Begin(); spriteBatch.Draw(vp.GetTexture(), Vector2.Zero, Color.Blue); spriteBatch.End(); **XNA**, **VideoPlayer** sınıfının GetTexture() method'u ile oynatılan video'nun o anki karesini Texture2D tipinde kullanmamızı sağlar. SpriteBatch sınıfının Draw() method'u sayesinde ilgili video karesini oyun penceresine *çizebiliriz*.
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484