Silverlight游戏开发之游戏资源整理篇

Silverlight游戏开发之游戏资源整理篇,第1张

概述书接上回 用如上回动作,将在你的指定目录(以1044?为例)按照顺序生成一些列的.png文件(注意哦,图片的大小发生了变化,这也是使用png图片的重要原因),但文件的命名是1.png、2.png.......72.png,是人物的8方向的站立图,显而易见这样的名称不易于理解使用,我们要做什么呢。 我们想要的名称为a-b-c-d.png(借鉴深蓝色右手博客内容),其中 a ====  状态  (步行 @H_419_1@

书接上回

用如上回动作,将在你的指定目录(以1044?为例)按照顺序生成一些列的.png文件(注意哦,图片的大小发生了变化,这也是使用png图片的重要原因),但文件的命名是1.png、2.png.......72.png,是人物的8方向的站立图,显而易见这样的名称不易于理解使用,我们要做什么呢。

我们想要的名称为a-b-c-d.png(借鉴深蓝色右手博客内容),其中

a ====  状态  (步行0 、骑乘1  or 飞行2.等)  

b ====  动作 (站立0 、跑动1、物理攻击2、施法3、防御4、死亡5 等)

c ====  方向( 东&&南&&西&&北 等 如下所示 由正西开始顺时针旋转)

                                北  2              

             西北 1                           东北 3

西 0                                                                东 4

            西南 7                             东南 5

                                南 6

发现游戏中图片方向亦是如此。

d ====   帧数  012345678等

重命名后1044?文件夹下图片大概为  0-0-0-0.png  ........0-0-0-8.png        就表示 该角色 处于   步行 站立在正西方向的一些列帧。

以上步骤不能手来啊,要不然真会累死的啊 。仔细分析生成的图片文件夹将其中1,2,3,,5 这样的名字 改为 a-b-c-d.png这样的名字。

会发现 名字的构成为

不可预知的(需要你自己打开图片观察判断)前缀比如 0-0- 

+

可以通过程序推断的方向

+

可以通过程序推断的帧数

== 图片的名称

估 转化为程序代码为:

public class Program    {        /// <summary>        /// 创建模拟测试图片文件        /// </summary>        /// <param name="path">测试文件目录地址</param>        public static voID CreateTestfile(string path) {                        if(!Directory.Exists(path)){                Directory.CreateDirectory(path);            }                        for (int i = 1; i <= 72; i++)            {                file.Create(string.Format("{0}\{1}.png",path,i));            }        }        /// <summary>        /// 根据推断出来的方向数来重命名图片文件        /// </summary>        /// <param name="pre">不可预知的前缀</param>        /// <param name="path">目录地址</param>        public static voID Movefilename(string pre,string path) {            string[] files = Directory.Getfiles(path);            int length = files.Length;            int directionnum = InferDirectionNum(length);            Movefilename(pre,directionnum);        }        /// <summary>        /// 根据传入的方向数来重命名图片文件        /// </summary>        /// <param name="pre">不可预知的前缀</param>        /// <param name="path">目录地址</param>        /// <param name="directionnum">自己判断的方向数</param>        public static voID Movefilename(string pre,string path,int directionnum) {            string[] files = Directory.Getfiles(path);            int start = 0;            int end = 0;            int length = files.Length;            int num = 0;            int Frames = length / directionnum;            for (int i = 1; i <= length; i++)            {                string item = files[i - 1];                start = item.LastIndexOf("\") + 1;                end = item.LastIndexOf(".");                string name = item.Substring(start,end - start);                //获取图片文件名中的数字                num = int.Parse(name);                //根据名字获取方向                int direction = (num - 1) / Frames;                //获取当前帧数                int frame = (num - 1) % Frames;                name = string.Format("{0}-{1}-{2}.png",pre,direction,frame);                name = path + "\" + name;                file.Move(item,name);            }        }        /// <summary>        /// 根据图片数量推断方向数(2方向 4 方向 8 方向)  推断规则 仔细观察图片文件夹有些并不适用        /// </summary>        /// <param name="num">图片数量 72 52 26 具体数量记混了 仔细看下</param>        /// <returns>方向数</returns>        public static int InferDirectionNum(int num){            switch(num){                case 72:                    return 8;                case 52:                    return 4;                case 26:                    return 2;                default :                    return 0;            }        }        static voID Main(string[] args)        {            //CreateTestfile("G:\Test");           Movefilename("0-0","G:\Test");        }    }


至此完成对图片的重命名 *** 作。
总结

以上是内存溢出为你收集整理的Silverlight游戏开发游戏资源整理篇全部内容,希望文章能够帮你解决Silverlight游戏开发之游戏资源整理篇所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1073750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存