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

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

 2010-10-01 07:07:47 来源:WEB开发网   
核心提示: 该方法我已经做了非常详细的注释,大致原理就是将上一节中合成的角色身体大图(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

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接