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

扫一扫,访问微社区

开发者专栏

关注:2348

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

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

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

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

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

10

主题

114

帖子

920

积分

Rank: 9Rank: 9Rank: 9

UID
251813
好友
3
蛮牛币
1782
威望
0
注册时间
2017-10-31
在线时间
372 小时
最后登录
2018-11-8

专栏作家活力之星

发表于 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四处流浪
406/500
排名
20603
昨日变化
20

0

主题

70

帖子

406

积分

Rank: 4

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

回复

使用道具 举报

排名
19245
昨日变化
13

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:}

回复

使用道具 举报

5熟悉之中
579/1000
排名
3826
昨日变化
15

0

主题

95

帖子

579

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
872/1000
排名
3036
昨日变化
11

1

主题

134

帖子

872

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
770/1000
排名
4994
昨日变化
22

3

主题

335

帖子

770

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

5熟悉之中
769/1000
排名
6129
昨日变化
38

9

主题

315

帖子

769

积分

Rank: 5Rank: 5

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

回复

使用道具 举报

7日久生情
1679/5000
排名
2370
昨日变化
12

12

主题

780

帖子

1679

积分

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

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

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

回复

使用道具 举报

4四处流浪
386/500
排名
5803
昨日变化
43

0

主题

34

帖子

386

积分

Rank: 4

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

回复

使用道具 举报

7日久生情
2312/5000
排名
1529
昨日变化
1

72

主题

474

帖子

2312

积分

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

UID
71862
好友
28
蛮牛币
4171
威望
0
注册时间
2015-1-29
在线时间
740 小时
最后登录
2018-10-30

专栏作家蛮牛译员

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

回复

使用道具 举报

排名
38499
昨日变化
59

0

主题

51

帖子

72

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

排名
62515
昨日变化
77

0

主题

1

帖子

4

积分

Rank: 1

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

回复

使用道具 举报

3偶尔光临
267/300
排名
33683
昨日变化
42

0

主题

198

帖子

267

积分

Rank: 3Rank: 3Rank: 3

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

回复 支持 反对

使用道具 举报

6蛮牛粉丝
1282/1500
排名
2595
昨日变化
11

5

主题

407

帖子

1282

积分

Rank: 6Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

排名
23322
昨日变化
14

0

主题

11

帖子

38

积分

Rank: 1

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

回复

使用道具 举报

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

本版积分规则

关闭

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

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