请选择 进入手机版 | 继续访问电脑版

lomcn

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 10723|回复: 50

z服加衣服内外发光(翅膀)及骑马时翅膀显示错误修复

[复制链接]
  • TA的每日心情
    开心
    2019-5-8 18:42
  • 7

    主题

    22

    回帖

    296

    积分

    中级会员

    积分
    296
    金钱
    242
    元宝
    0
    发表于 2019-3-10 21:12:26 | 显示全部楼层 |阅读模式
    装备的内发光处理有两个方法,一个是处理自己的,一个是处理你查看别人装备的,分别是:private void CharacterTab_BeforeChildrenDraw(object sender, EventArgs e)//自己装备内发光

    private void CharacterTab_BeforeChildrenDraw(object sender, EventArgs e)//查看别人装备内发光
    这个方法的原理就是switch (index)//定值判断图片资源编号确定内发光

    什么意思呢,就是根据数据库里衣服的image来确定是什么衣服.

    就拿夜叉斑盔甲来举例它的image分别是2007,2017(男/女)

    这个方法里有个判断if (CEnvir.LibraryList.TryGetValue(LibraryFile.EquipEffect_UI, out effectLibrary))
    这句我也不懂是什么意思,大概就是从EquipEffect_UI里读取数据吧
    case 2007:
            image = effectLibrary.CreateImage(500 + (GameScene.Game.MapControl.Animation % 13), ImageType.Image);
            break;
    case 2017:
            image = effectLibrary.CreateImage(520 + (GameScene.Game.MapControl.Animation % 13), ImageType.Image);

    这是原来作者就写好了的,这两代码什么意思呢
    用资源查看器打开EquipEffect_UI括号里500,520,就是夜叉斑盔甲内发光的第一帧图的编号,% 13就是这个内发光一组有多少帧,
    当然内发光分有动画和无动画,无动画具体可以参考作者的写法!原理都一样,

    那外发光又是咋回事呢
    他在 private void DrawWings()中处理
    同样用if (!CEnvir.LibraryList.TryGetValue(LibraryFile.EquipEffect_Part, out library)) return;来读取资源//这个很关键因为要添加新的外发光而这个外发光又在别的资源里要用到
    switch (ArmourImage)通过imag来确定衣服
    case 2007:
    case 2017:

    library.DrawBlend(600 + (GameScene.Game.MapControl.Animation / 2) % 13 + (int)Direction * 20, DrawX, DrawY, Color.White, true, 1f, ImageType.Image);
    break;

    同样600就是EquipEffect_Part外发光中的第一帧所在的编号% 13 是一组有多少帧DrawX, DrawY是资源的偏移这俩个字段很重要是修复骑马时外发光
    显示错误的关键,
    比如我要添加一个新外发光在EquipEffect-Full中,
    要在Library/Libraries.cs/ public enum LibraryFile中添加新的字段EquipEffect_Full
    在 public static Dictionary<LibraryFile, string> LibraryList = new Dictionary<LibraryFile, string>中添加路径//参照作者的写法
    然后private void DrawWings()方法中添加if (!CEnvir.LibraryList.TryGetValue(LibraryFile.EquipEffect_Full, out library)) return//注意这句一定要添加在上一个switch的后面
    根据你的衣服定制不一样的外发,
    骑马时如何解决外发光显示错误?
    这个要在处理发光的前面加上骑马状态判断
    拿夜叉斑盔甲来举例
    case 2007:
    case 2017:
             if (MapObject.User.Horse != HorseType.None)//骑马判断//骑马
            {
                library.DrawBlend(600 + (GameScene.Game.MapControl.Animation / 2) % 13 + (int)Direction * 20, DrawX, DrawY-25, Color.White, true, 1f, ImageType.Image);//改变DrawY就行了!具体的数值根据资源细调
            break;
              }
               else
              {
                 library.DrawBlend(600 + (GameScene.Game.MapControl.Animation / 2) % 13 + (int)Direction * 20, DrawX, DrawY, Color.White, true, 1f, ImageType.Image);
               break;//不骑马处理
                 }

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-3-4 20:16
  • 3

    主题

    46

    回帖

    102

    积分

    注册会员

    积分
    102
    金钱
    52
    元宝
    0
    发表于 2019-3-10 21:19:03 | 显示全部楼层
    好深奥  慢慢领会中
    回复

    使用道具 举报

  • TA的每日心情
    萌哒
    2023-2-8 19:12
  • 9

    主题

    53

    回帖

    357

    积分

    中级会员

    积分
    357
    金钱
    270
    元宝
    0
    发表于 2019-3-10 21:28:33 | 显示全部楼层
    好牛逼!就开始研究素材,你还真是一个完美主义!学习了!代码解读基本可以看懂,对于我这零基础的来说 能看懂真不错了!
    回复

    使用道具 举报

  • TA的每日心情
    萌哒
    2019-4-7 11:51
  • 3

    主题

    48

    回帖

    186

    积分

    注册会员

    积分
    186
    金钱
    135
    元宝
    0
    发表于 2019-3-17 22:27:46 | 显示全部楼层
    太高深了,看不懂。
    回复

    使用道具 举报

  • TA的每日心情
    萌哒
    2020-9-13 23:05
  • 161

    主题

    32

    回帖

    488

    积分

    中级会员

    积分
    488
    金钱
    293
    元宝
    0
    发表于 2019-3-20 19:10:42 | 显示全部楼层
    路过  打酱油的人啊啊 啊啊啊啊啊
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-9-10 13:28
  • 124

    主题

    389

    回帖

    5133

    积分

    论坛元老

    积分
    5133
    金钱
    4619
    元宝
    0
    发表于 2019-3-20 23:42:38 | 显示全部楼层
    非常感谢!!!!!!
    回复

    使用道具 举报

  • TA的每日心情
    萌哒
    2020-6-25 19:38
  • 2

    主题

    68

    回帖

    303

    积分

    中级会员

    积分
    303
    金钱
    233
    元宝
    0
    发表于 2019-3-22 22:04:33 | 显示全部楼层
    感谢黑龙大神无私分享
    回复

    使用道具 举报

  • TA的每日心情
    萌哒
    2019-4-7 11:51
  • 3

    主题

    48

    回帖

    186

    积分

    注册会员

    积分
    186
    金钱
    135
    元宝
    0
    发表于 2019-3-22 23:02:17 | 显示全部楼层
    剪纸心 发表于 2019-3-10 21:28
    好牛逼!就开始研究素材,你还真是一个完美主义!学习了!代码解读基本可以看懂,对于我这零基础的来说 能 ...

    大哥。你的添加了,好看吗?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-1-2 18:03
  • 5

    主题

    86

    回帖

    308

    积分

    中级会员

    积分
    308
    金钱
    217
    元宝
    0
    发表于 2019-3-29 08:56:44 | 显示全部楼层
    太高深了,看不懂。
    回复

    使用道具 举报

  • TA的每日心情
    闭嘴
    2019-6-3 11:05
  • 1

    主题

    92

    回帖

    188

    积分

    注册会员

    积分
    188
    金钱
    93
    元宝
    0
    发表于 2019-3-30 22:08:24 | 显示全部楼层
    z服加衣服内外发光(翅膀)及骑马时翅膀显示错误修复
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|服务|手机版|小黑屋|lomcn

    GMT+8, 2023-5-30 19:20 , Processed in 0.146217 second(s), 21 queries .

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表