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

C# 開發 WPF/Silverlight 動畫與遊戲系列教程(十四)精靈控件橫空出世 ①(一)—— 動機與依賴屬性設計

     編輯:關於C語言

背景問題

上節實現地圖牽引移動,遺留主角/障礙物跟隨移動問題。最簡單法:座標存 Tag 屬性(如 rect.Tag = x + "," + y),取用時 Split 解析。但效率極低、零擴展性。主角屬性極多(座標、名稱、門派、血條、藍條、屬性、裝備、線程參數、方向……),全塞 Tag 不現實。

解決方案:精靈控件

遊戲核心對象:主角、其他玩家、NPC、怪物、BOSS、坐騎、障礙物……初學者難駕馭外國通用精靈(術語多、屬性龐大)。WPF/Silverlight 提供強大支援:自訂精靈控件。

建立精靈控件步驟

  1. 專案加 Controls 資料夾歸類
  2. 右鍵添加用戶控件,命名 QXSpirit.xaml

添加用戶控件對話框截圖。

依賴屬性設計(核心)

傳統屬性(double _X; public double X {get;set;})僅適合描述性屬性(如圖片路徑)。WPF 中只有依賴屬性才能被綁定、Storyboard 目標屬性識別。標準模板:

public double X {
    get { return (double)GetValue(XProperty); }
    set { SetValue(XProperty, value); }
}
public static readonly DependencyProperty XProperty =
    DependencyProperty.Register("X", typeof(double), typeof(QXSpirit), new PropertyMetadata(0.0));

Y 同理。依賴屬性支援動畫、綁定、樣式等核心機制,是精靈控件靈魂所在。

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