İpucu

Bu ipucunda sizlere XNA üzerinde Mouse kullanımı ile ilgili küçük bilgiler verilecektir.

Mouse Cursor'u Visible etmek:
this.IsMouseVisible = true;
kodunu eklemeniz yeterli olacaktır.

Custom Cursor oluşturmak:
İşin sırrı bir mouse imleci görüntüsünde imaj nesnesi ayarlayıp bunu Mouse un x ve y koordinatlarına göre gezdirmek.
Değişken Tanımlamaları:
Texture2D myTexture;
Vector2 spritePosition = Vector2.Zero;
LoadContent Function
myTexture = Content.Load("cursor//nicecursor");

Update Fonksiyonu:
spritePosition.X = Mouse.GetState().X;
spritePosition.Y = Mouse.GetState().Y;
Draw Fonksiyonu:
spriteBatch.Draw(myTexture, new Rectangle((int)spritePosition.X, (int)spritePosition.Y, 24, 24), Color.White);
Uygulamayı çalıştırdığınız vakit Mouse cursor u nereye giderse imaj nesnemizde oraya gidecektir.Böylelikle Custom bir Cursor umuz olmuş olur.

Custom Animated-Cursor yapımı:
Hareketli bir mouse cursor nesnesi yapmak istersek eğer yukarıdaki yöntemi kullanarak yapabiliriz ama tek farkla: sırayla o cursor e ait imajları yükleyerek göstererek.
Değişken Tanımlamaları:
Texture2D myTexture;
Vector2 spritePosition = Vector2.Zero;
private int a;
LoadContent Fonksiyonumuza:
myTexture = Content.Load("cursor//11a_1");
varsayılan olarak ilk imaj nesnemizi atıyoruz.Geri kalanlar için sırayla okuma işlemini gerçekleştireceğiz.
Update Fonksiyonumuza:
spritePosition.X = Mouse.GetState().X;
spritePosition.Y = Mouse.GetState().Y;
a++;
if (a == 24)
{
a = 1;
}
else
{
myTexture = Content.Load("cursor//11a_" + a);
}
Draw Fonksiyonumuza:
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);
spriteBatch.Draw(myTexture, new Rectangle((int)spritePosition.X, (int)spritePosition.Y, 24, 24), Color.White);
spriteBatch.End();
Kodlarını ekledikten sonra Hareketli bir Cursor a sahip olacağız.

Kaynak kodlar için:
http://www.c-sharpcorner.com/UploadFile/iersoy/2590/Default.aspx
adresine girip Download Files kısmından ilgili dosyayı indirebilirsiniz.
Teşekkürler