开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十八) 完美精灵之八面玲珑(WPF Only)②

 2010-10-01 07:07:47 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閹绘帞鈧參姊哄Ч鍥х仼闁诲繑鑹鹃悾鐑藉蓟閵夛妇鍘甸梺瑙勵問閸犳牠銆傛總鍛婄厱閹艰揪绱曟牎闂侀潧娲ょ€氫即鐛幒妤€绠f繝闈涘暙娴滈箖鏌i姀鈶跺湱澹曟繝姘厵闁绘劦鍓氶悘杈ㄤ繆閹绘帞澧涚紒缁樼洴瀹曞崬螖閸愬啠鍓濈换娑樼暆婵犱胶鏁栫紓浣介哺閹瑰洤鐣烽幒鎴僵闁瑰吀鐒﹂悗鎼佹⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩缁狀垶鏌涢幇闈涙灈鐎瑰憡绻冮妵鍕箻鐎靛摜鐣奸梺纭咁潐濞茬喎顫忕紒妯肩懝闁逞屽墮宀h儻顦查悡銈夋煏閸繃鍋繛宸簻鎯熼梺瀹犳〃閼冲爼宕濋敃鈧—鍐Χ閸℃鐟愰梺鐓庡暱閻栧ジ宕烘繝鍥у嵆闁靛骏绱曢崢顏堟⒑閹肩偛鍔楅柡鍛⊕缁傛帟顦寸紒杈ㄥ笚濞煎繘鍩℃担閿嬵潟闂備浇妗ㄩ悞锕傚箲閸ヮ剙鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹  闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳氨绱撻崒娆掑厡缂侇噮鍨堕妴鍐川閺夋垹鍘洪悗骞垮劚椤︻垶宕¢幎鑺ョ厪闊洦娲栨牎闂佽瀵掗崜鐔奉潖閾忓湱纾兼俊顖氭惈椤秴顪冮妶鍡楀闁告鍥х叀濠㈣泛谩閻斿吋鐓ラ悗锝庡厴閸嬫挻绻濆顓涙嫼閻熸粎澧楃敮鎺撶娴煎瓨鐓曢柟鎯ь嚟閳藉鏌嶇紒妯荤叆妞ゎ偅绻堥幊婊呭枈濡顏归梻鍌欑閹诧紕绮欓幋锔哄亼闁哄鍨熼弸鏃堟煛閸愶絽浜剧紓浣虹帛缁嬫挻绂掗敃鍌氱<婵﹩鍓﹂悗鎶芥⒒娴e摜锛嶇紒顕呭灦楠炴垿宕堕鍌氱ウ闁诲函缍嗘禍鏍绩娴犲鐓欓梺顓ㄧ畱婢ь垱銇勯弬鍨偓瑙勭┍婵犲洦鍊锋い蹇撳閸嬫捇寮借濞兼牕鈹戦悩瀹犲闁稿被鍔庨幉姝岀疀濞戞ḿ鐤呴梺鍦檸閸犳寮查幖浣圭叆闁绘洖鍊圭€氾拷
核心提示: 该方法我已经做了非常详细的注释,大致原理就是将上一节中合成的角色身体大图(5100*1200那张)与一张同样尺寸的武器大图进行合成,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十八) 完美精灵之八面玲珑(WPF Only)②(3),组装成一张5100*

该方法我已经做了非常详细的注释,大致原理就是将上一节中合成的角色身体大图(5100*1200那张)与一张同样尺寸的武器大图进行合成,组装成一张5100*1200像素的带武器的角色图,最后再将这张图进行所有序列单帧按150*150尺寸进行切割存储进PartImage这个数组中:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十八) 完美精灵之八面玲珑(WPF Only)②

图片看不清楚?请点击这里查看原图(大图)。

有了EquipPart()方法后还暂时无法使用它,因为精灵控件还缺少一些能与之对接的属性。因此我们首先还得为可爱的精灵控件添加如下属性:

        // 精灵当前调用的图片源(二维数组):第一个表示角色方向,0朝上4朝下,
// 顺时针依次为0,1,2,3,4,5,6,7;第二个表示该方向帧数
        public BitmapSource[,] Source {get {…}set {…}}
        // 精灵方向数量,默认为8个方向
        public int DirectionNum {get {…}set {…}}
        // 精灵当前动作状态
        public Actions Action {get {…}set {…}}
        // 精灵之前动作状态
        public Actions OldAction {get {…}set {…}}
        // 精灵各动作对应的帧列范围(暂时只有5个动作)
        public int[] EachActionFrameRange {get {…}set {…}}
        // 精灵每方向总列数
        public int DirectionFrameNum {get {…}set {…}}
        // 精灵当前动作开始图片列号
        public int CurrentStartFrame {get {…}set {…}}
        // 精灵当前动作结束图片列号
        public int CurrentEndFrame {get {…}set {…}}
        // 每张精灵合成大图总宽
        public int TotalWidth {get {…}set {…}}
        // 每张精灵合成大图总高
        public int TotalHeight {get {…}set {…}}
        // 精灵单张图片宽,默认150
        public int SingleWidth {get {…}set {…}}
        // 精灵单张图片高,默认150
        public int SingleHeight {get {…}set {…}}
        /// <summary>
        /// 精灵装备代码(目前只有前2者)
        /// [0],衣服
        /// [1],武器
        /// [2],头盔
        /// [3],腰带
        /// [4],护手
        /// [5],鞋子
        /// [6],项链
        /// [7],戒指1
        /// [8],戒指2
        /// ……
        /// </summary>
        public int[] Equipment {get {…}set {…}}

上一页  1 2 3 4 5 6 7  下一页

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接