精靈框架告一段落,讓主角不再孤單 — 引入可愛妖精怪物 (QXGameEngine 素材)。
QXSpirit[] Monster;
private void InitMonster(int num)
{
Monster = new QXSpirit[num];
var random = new Random();
for (int i = 0; i < num; i++)
{
if (Carrier.FindName("Magicer" + i) == null) // 避免重複刷新
{
Monster[i] = new QXSpirit();
Monster[i].Name = "Magicer" + i;
Carrier.RegisterName(Monster[i].Name, Monster[i]); // 註冊名稱便於管理
Monster[i].Equipment[0] = 100; // 怪物身體圖片代號 (100+ 區別主角 0-99)
Monster[i].Equipment[1] = 0;
Monster[i].X = 2000 - random.Next(1000); // (2000,1500) 為中心 1000 範圍隨機
Monster[i].Y = 1500 - random.Next(1000);
Carrier.Children.Add(Monster[i]);
}
}
}
RegisterName + FindName 實現唯一性檢查與實例捕獲,支援死亡移除、定時刷新、BOSS 獨佔點邏輯InitMonster(30) 三十隻怪同屏零壓力,擴展性經得起考驗
簡單吧?拓展性優良的架構經得起全方位考驗。下節:精靈精準點選與特效顯示 (HitTest)。