首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

WPF/Silverlight 遊戲開發教程(二十五之一):滑鼠游標規則與資源載入

     編輯:關於C語言

本章開始講解「完美捕捉精靈之神器 — HitTest」。首先定義滑鼠狀態規則:

  • 空曠地圖區域:預設游標(0 號)
  • 滑鼠懸停精靈上方:發光游標(1 號)
  • 指向敵對精靈:攻擊游標(2 號)
  • 使用魔法快捷鍵:凝法狀態游標(3 號)

四種游標圖片:

游標資源載入與快取

在專案中建立 Cursors 資料夾存放 .ani 檔案,透過靜態陣列快取,首次使用時以檔案流載入:

public static Cursor[] GameCursors = new Cursor[4];

public static Cursor getCursor(int sign)
{
    if (GameCursors[sign] == null)
    {
        GameCursors[sign] = new Cursor(new FileStream(
            string.Format(@"Cursors\{0}.ani", sign),
            FileMode.Open, FileAccess.Read, FileShare.Read));
    }
    return GameCursors[sign];
}

滑鼠移動事件初步實作

為遊戲視窗加入 MouseMove="Window_MouseMove",後台程式碼:

private void Window_MouseMove(object sender, MouseEventArgs e)
{
    this.Cursor = e.Source is QXSpirit ? Super.getCursor(1) : Super.getCursor(0);
}

這是最基礎的捕獲邏輯,下一節將揭示其不準確的原因並逐步改進。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved