程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#開發WPF/Silverlight動畫及游戲系列教程(Game Course):(三十)(2)

C#開發WPF/Silverlight動畫及游戲系列教程(Game Course):(三十)(2)

編輯:關於C語言

當我們在地圖上點擊鼠標右鍵時,首先判斷主角與施放點之間的距離是否在施法距離內,如果是則放出魔法,否則我們計算出能該方向上與釋放點距離剛好為主角施法距離的點,然後主角向該點跑去,到達後再施法:

同時,我將法術的參數定義在XML參數文件中:

<Magics>

< Magic Code="0" HasDirection="false" FrameNum="19" EffectiveFrame="4" SingleWidth="320" SingleHeight="344" Radius="140" CenterX="154" CenterY="214">

  <Level Value="1" ATK="120" Consumption="10"/>

  <Level Value="2" ATK="160" Consumption="15"/>

  <Level Value="3" ATK="200" Consumption="20"/>

  <Level Value="4" ATK="240" Consumption="25"/>

  <Level Value="5" ATK="280" Consumption="30"/>

  <Level Value="6" ATK="320" Consumption="35"/>

  <Level Value="7" ATK="380" Consumption="40"/>

  <Level Value="8" ATK="500" Consumption="50"/>

  <Level Value="9" ATK="700" Consumption="60"/>

< /Magic>

……

<Magics>

大家可以看到,每個法術都擁有一個法術代號用於法術標識(上面的法術代號為Code="0")並且分列出法術各等級的附加攻擊力(ATK)與消耗的魔法值(Consumption),然後在施放魔法之前首先判斷施法者的魔法值與該魔法的魔法消耗值之間的大小關系以判斷施法者當前魔法值是否足夠支持施法者施法:

……

if (VSpell < consumption) {

 Super.ShowText(this, true, true, "NotEnough", "魔法值不足", 22, Colors.Green, 0.5);

}

……

-
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved