游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2310

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 2011|回复: 24

[码农亚] Unity工作效率提升小论<二>(未完)

[复制链接]  [移动端链接]
排名
3732
昨日变化
3

10

主题

101

帖子

840

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
3
蛮牛币
1710
威望
0
注册时间
2017-10-31
在线时间
341 小时
最后登录
2018-9-13

专栏作家活力之星

发表于 2018-8-18 13:47:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 码农亚 于 2018-8-18 13:49 编辑

00 祝福大家七夕快乐! 作为逗比的码农亚瑟,我又来这里打扰大家了。这次分享的还是提高效率的简单思想。
01 譬如,策划扔给了我们一个带动画的模型,然后让我们进行动画的播放(此处暂以为例,重点是思想!)
02 哒哒哒哒哒哒,然后我们就开始编写代码
   
[C#] 纯文本查看 复制代码
[/font]
[font=Tahoma]   public class PlayAnimationTest : MonoBehaviour {
   [Header("动画端口")]
   public Animation _animPort;
   [Header("动画信息组")]
   public List<string> _animNames;
   public void AnimExecute()
   {
    StartCoroutine(AnimPrerparation(_animPort, 0));
    }
   IEnumerator AnimPrerparation(Animation _animPortValue,int value)
   {
   string _animNameValue = _animNames[value];
  _animPortValue.Play(_animNameValue);
  while (_animPortValue.isPlaying)
  {
  yield return 0;
   }
  Debug.Log(_animNameValue+"动画播放完成");
  }
  }

   一阵哒哒之后,我们得到了以上代码,因为便于观看,我把Start以及Update方法删掉了。
03 出于客户的各种需求,我们又开始编写其它的代码。。。
   哒哒哒哒哒哒...哒哒哒哒哒哒...哒哒哒哒哒哒...
04 紧张的忙碌之后,初版项目提交。
05 客户反馈问题,提出修正以及新的需求。
   开始修正,一顿增删改查。
06 然后03=>04=>05=>03...这样的流程重复若干时间,终于某个燥热的夜晚,项目终于完善且预计将来的很久时间不会重启修复计划。
   然后=>This Project Finished.(Maybe short time,maybe not...)
07 如此工作了半年或者更长时间,在某个晴朗的午后,天上或许还挂着彩虹,因为某个原因,你打开了你的项目,并且随意的看了看代码。
08 然后你发现,就上面的播放动画的代码,许多的脚本中,A有,C有,D有,或多或少,它们就丢在那里,默默的看着你。
09 甚至于代码,模型,图片...你发现重复的事情一层一层,整个下来,眼前的项目就是一个臃肿的机构。
   你亲手制造了他,有四肢,但是胳膊长短不一,双腿一胖一瘦,这样的一个人,或者公司,机构,能撑得住几次风浪呢?
   好似二八定律一样,本来应该以二撬动八,现在以八抢占二,反而策划还要嫌弃你太慢!
10 以上都是我磨磨唧唧说的,额,希望对大家有些启发。鉴于现在是码农,而且世界上重复性浪费资源的事情不少见,现在简单的就只从代
   码着手。
11 以上的播放器结构抽象一些区分=>y=f(x);
   y(输出内容)就是最终播放动画,x(输入内容)就是动画播放器和动画名字两个参数,f()就是内在的播放动画方法。
   在程序里面,这三要素是完整的,而且不可缺失某一要素,结合程序本身,即存储和释放的过程,我们可以归纳,提取之后的表现模块:
    A:存储
    B:释放
    当然,很多小伙伴早就知道一个东西:自定义类=>也就是不继承Monobehaviour 的类(class)
12 接下来的一切就很简单了:


      
[C#] 纯文本查看 复制代码
      public class MNBaseAnimation
    {
     Animation _baseAnimation;
     string _animationName;
     public MNBaseAnimation(Animation _anim ,string _animName)
    {
      this._baseAnimation = _anim;
     this._animationName = _animName;
     }
    public  IEnumerator PlayBaseAnimation()
    {
   _baseAnimation.Play(_animationName);
   while (_baseAnimation.isPlaying )
   {
    yield return 0;
   }
   Debug.Log("播放完成");
   }
   }

   调用
   
[C#] 纯文本查看 复制代码
    public class PlayAnimationTest : MonoBehaviour {
   [Header("动画端口")]
   public Animation _animPort;
   [Header("动画信息组")]
   public List<string> _animNames;
   MNBaseAnimation _baseAnim;
   void Start()
  {
   _baseAnim = new MNBaseAnimation(_animPort, _animNames[0]);
  }
   void Update()
  {
  if (Input.GetKeyDown(KeyCode.Space))
  {
  StartCoroutine(_baseAnim.PlayBaseAnimation());
  }
  }
  //协程内部扩充
  IEnumerator ExecuteAnim()
   {
   yield return StartCoroutine(_baseAnim.PlayBaseAnimation());
  //这样就保证了程序的可拓展!
   }
  }
  

13  以上就是所有内容了吗?并不!这只是简单填鸭式的写法,而且很笨拙。我会另写文章将抽象的思想走一点点,从接口开始构建,
     就是这样。

评分

参与人数 2鲜花 +6 收起 理由
happiness9 + 1 赞一个!
AR小木 + 5

查看全部评分


回复

使用道具 举报

4四处流浪
399/500
排名
20225
昨日变化
27

0

主题

69

帖子

399

积分

Rank: 4

UID
189111
好友
0
蛮牛币
22
威望
0
注册时间
2016-12-3
在线时间
307 小时
最后登录
2018-9-13
发表于 2018-8-20 10:00:26 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

排名
18893
昨日变化
17

0

主题

23

帖子

66

积分

Rank: 2Rank: 2

UID
246942
好友
0
蛮牛币
85
威望
0
注册时间
2017-10-1
在线时间
17 小时
最后登录
2018-9-16
发表于 2018-8-20 12:40:53 | 显示全部楼层
{:94:}

回复

使用道具 举报

4四处流浪
405/500
排名
5038
昨日变化
85

0

主题

68

帖子

405

积分

Rank: 4

UID
276682
好友
0
蛮牛币
938
威望
0
注册时间
2018-4-11
在线时间
75 小时
最后登录
2018-9-19
发表于 2018-8-20 14:07:08 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
764/1000
排名
3444
昨日变化
15

1

主题

129

帖子

764

积分

Rank: 5Rank: 5

UID
236305
好友
1
蛮牛币
1067
威望
0
注册时间
2017-8-7
在线时间
232 小时
最后登录
2018-9-19
发表于 2018-8-20 16:33:07 | 显示全部楼层
谢谢分享~
[发帖际遇]: SrMao_e432t 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

5熟悉之中
606/1000
排名
6193
昨日变化
37

3

主题

278

帖子

606

积分

Rank: 5Rank: 5

UID
269155
好友
2
蛮牛币
1024
威望
0
注册时间
2018-2-22
在线时间
122 小时
最后登录
2018-9-19
发表于 2018-8-20 17:13:59 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
642/1000
排名
7654
昨日变化
149

8

主题

288

帖子

642

积分

Rank: 5Rank: 5

UID
285521
好友
0
蛮牛币
984
威望
0
注册时间
2018-6-12
在线时间
188 小时
最后登录
2018-9-19
发表于 2018-8-20 20:45:08 | 显示全部楼层

回复

使用道具 举报

7日久生情
1523/5000
排名
2582
昨日变化
20

12

主题

706

帖子

1523

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
218409
好友
3
蛮牛币
5156
威望
0
注册时间
2017-4-19
在线时间
299 小时
最后登录
2018-9-19
发表于 2018-8-21 09:09:46 | 显示全部楼层

感谢楼主分享
[发帖际遇]: 一个袋子砸在了 jiangjhq681211 头上,jiangjhq681211 赚了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

4四处流浪
313/500
排名
6700
昨日变化
52

0

主题

30

帖子

313

积分

Rank: 4

UID
237976
好友
0
蛮牛币
970
威望
0
注册时间
2017-8-16
在线时间
100 小时
最后登录
2018-9-19
发表于 2018-8-21 09:21:47 | 显示全部楼层
感谢楼主分享
[发帖际遇]: 智慧的阿瑞斯 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
2295/5000
排名
1500
昨日变化
2

72

主题

471

帖子

2295

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
71862
好友
28
蛮牛币
4141
威望
0
注册时间
2015-1-29
在线时间
734 小时
最后登录
2018-9-18

专栏作家蛮牛译员

发表于 2018-8-21 11:24:10 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

排名
37832
昨日变化
25

0

主题

47

帖子

63

积分

Rank: 2Rank: 2

UID
286498
好友
0
蛮牛币
28
威望
0
注册时间
2018-6-20
在线时间
13 小时
最后登录
2018-9-6
发表于 2018-8-21 17:31:55 | 显示全部楼层
太棒了哈哈哈哈

回复

使用道具 举报

排名
61451
昨日变化
34

0

主题

1

帖子

4

积分

Rank: 1

UID
289956
好友
0
蛮牛币
0
威望
0
注册时间
2018-7-16
在线时间
1 小时
最后登录
2018-8-22
发表于 2018-8-22 01:56:51 | 显示全部楼层
感谢分享~

回复

使用道具 举报

3偶尔光临
172/300
排名
37832
昨日变化
25

0

主题

133

帖子

172

积分

Rank: 3Rank: 3Rank: 3

UID
247666
好友
0
蛮牛币
12
威望
0
注册时间
2017-10-9
在线时间
33 小时
最后登录
2018-9-7
发表于 2018-8-22 12:55:25 | 显示全部楼层
唯有666666能表达我的心情

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1116/1500
排名
2942
昨日变化
23

5

主题

344

帖子

1116

积分

Rank: 6Rank: 6Rank: 6

UID
54335
好友
1
蛮牛币
1713
威望
0
注册时间
2014-11-9
在线时间
303 小时
最后登录
2018-9-19
发表于 2018-8-22 14:34:40 | 显示全部楼层
多谢楼主精彩的分享

回复 支持 反对

使用道具 举报

排名
22918
昨日变化
1205

0

主题

11

帖子

38

积分

Rank: 1

UID
255275
好友
0
蛮牛币
70
威望
0
注册时间
2017-11-20
在线时间
11 小时
最后登录
2018-9-19
发表于 2018-8-22 16:13:28 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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