码迷,mamicode.com
首页 > 编程语言 > 详细

unity 接触一个月的感受和心得

时间:2017-09-16 11:36:11      阅读:656      评论:0      收藏:0      [点我收藏+]

标签:请求   texture   svn   读取   不同的   打包   map   二次   没有   

unity scrollview 遇到的问题

一个scrollview作为翻页,这样的效果调整。

一页上面有三个scrollview,这三个scrollview上的items不受下层整个页面的scrollview的裁剪,导致滚动的时候,上层items会从页面外面飞入。这个问题我还没有解决,这个问题只有第二次以及以后打开界面才会出现,第一次打开不会出现,

所以我断定是我在第一次关闭界面的时候有些内容没有释放导致的。

 

现在采用迂回战术,关闭的时候不关闭,而是隐藏,这样就不会出现这个问题了。

 

但是根本原因,后续有空再研究。

 

 

2.我翻页使用scroll,反复的调整参数,都不能达到好的效果。

后来改为Spring.Panel.Begin(xxx),效果完美。

 

3.childcenter要谨慎使用,一般一次显示一格的才使用,一次可以显示多格的不要随便加,不然容易出问题。

 

4.今天替换美术拿过来的资源,居然和策划文档的功能都不一样。忧伤,还增加了功能。   

关键是遇见一个大坑。大概是上午的时候,开始学习合成atlas图集,旁边的同事教我用ngui->open->atlas maker 制作了图集,在我的电脑商运行完美。提交到svn,再被其他同事update之后,图集不能够显示。

这个坑真的是大坑,关键是我没有unity和图集相关的基础,导致我遇见问题的时候不知所措,找人解决也不知道是什么问题,后来大概7点多的时候,组长说是图集的问题。让用TexturePacker重新生成一份,我本地安装这个工具却出现dll找不到的错误,于是放弃,先让其他人生成给我用吧,解决问题先。。。

可是给我之后还是不能用。

后来就不知道什么原因了,大概8点多,客户端的人都走完了,留我一个人在这里。今天是大周星期五。我下决心一定要解决的突然我发现我电脑有安装TexturePacker,然后我自己生成了之后就可以了。 其他电脑也可以了。。。 其中还尝试了其他方法,看是不是其他问题,这些过程相当的有趣,所以找bug定位精准太重要了。。。这一点我在python上感觉到了优势。我在前公司的时候,组内大都是一年两年的新人,我是三年的老人,我看过《python源码剖析》,他们没看过。他们提出的python问题我基本都能够解答,并且那段时间给他们普及了很多python知识。

所以,理解原理真的是太重要了。

 

公司用的unity是版本是5.4.4.f1,ngui版本是3.10.1 

visual studio:vs2015

vstounity:关联vs到unity 使得vs可以调试unity程序。

ngui3.10.1的下载地址

http://download.csdn.net/download/wxk_1054433720/9637687

先删掉原来工程目录下的ngui文件夹再import

 

纹理图片导入到unity中大小变小了,原来是被unity压缩了,选中纹理图片在Inspector中操作,2DSprite,然后勾选Generate mip maps,这样纹理就不能够被压缩了。

 

制作的界面和效果图不一样,前期是眼睛对着看,浪费了大量宝贵时间,现在改为放一张图片在下面,然后调整坐标。

美术给的资源都说按照效果图来,差评,理科生对这种不敏感,建议实际的坐标值,颜色值,文字大小数字标出来。

 

UIHelper.SetTexture,不用每个地方都去实现一下。

 

慎用居中插件,center inchild,各种恶心,还有各种毛病。

不能够用texture在unity编辑器中,打包回出现问题。

 

速度一定要快,给一个任务一定要按时完成,这就是效率。

 

什么地方可以快速熟悉unity编辑器的各种功能?

 

预制体的类.gameobject 报错:要实例化的对象为null。

这个原因是:

1.预制体的类是否名字和预制体一样;

2.如果一样,再看文件夹下面是否有对应的预制体,因为在unity编辑器中的Hierarchy中有的是在unity编辑器的内存中的,并不代表存在于电脑的硬盘中,所以,检查文件夹,如果没有就将预制体拖入文件夹中。

 

第二个任务是商城系统,简单说就是购买东西的一个界面,有n个标签,根据标签加载对应的物品,

当然是根据选择不同的标签,向服务器发送对应的标签数据,服务器返回对应的数据列表,

我拿到这些数据id之后,根据当前选中标签,或者是服务器发过来的itemtype,进行相应的设置,显示不同的内容。将需要显示的物品显示在一个scrollview中即可。

这就是显示部分。

另外一部分是对这些物品进行操作。

比如说我要查看物品的详情,或者说是购买物品。

物品显示分为物品的区域范围,这个范围点击是可以查看详情的,在详情里面可能会有购买的操作,或者是其他的操作。

另外物品区域的下方还有一个显示价格的按钮,点击可进行购买。

这种点击操作基本都是向服务器发送请求得到数据,或者根据id去读取本地的表中的数据用于显示。

这里的id是怎么得到的呢?我怎么知道我点击的是那个按钮呢?对应的id是多少呢?

我的做法是对于每一个物品,我在设置显示信息的时候同事对象保存了他的id,点击的时候在响应函数里面获取本对象的mId就可以知道点击的是哪一个物品。

然后拿到这个id之后,我就可以获取到需要显示的数据了。

还有一个问题是一个页面如何多重使用呢?即页面复用的问题,我的做法是:

如果是可以根据页面标签来进行分类的,那么 以页面标签进行分类,进行显示不同的内容。

如果不能通过页面标签来进行分类的,我就通过服务器发过来的id去对应的表里面找type,找到对应类型,然后根据类型来确定具体应该显示什么内容。

这样就能够很好的处理显示的内容了。

 

另外,这个商城系统里面还有一个抽奖的内容,这个浪费了我挺多时间的,大概一天半吧,现在还没有做完整。

明天继续去加班,把事情做完,自己测试几遍,现在这个公司程序员不仅仅要写代码,还要把美术给的界面资源拼接成效果图,这个过程极其恶心,然后还要负责测试。这个也是我觉得不爽的地方。十分怀念原来那种,不需要管界面,策划做好,我只需要写代码,写好功能之后直接丢给策划,策划安排测试人员一路跟着测bug,然后修bug,然后再测,直到没有bug,那种生活太奢侈了。

不过现在更能够锻炼人,仔细想一想,游戏开发,过来过去不就是那几个系统么?至少通用的系统在每个游戏里面都要用到的,所以把这些模块做得滚瓜烂熟之后,我想以后开发效率就会高了吧,嗯嗯,加油吧。新进入一行一定会有一个阵痛期的。

做游戏就是要速度快,给一个任务,很快就做完了,然后代码质量也高,bug也少,那就是非常优秀的程序员了。现在我还要向这个方向努力??。

 

unity 接触一个月的感受和心得

标签:请求   texture   svn   读取   不同的   打包   map   二次   没有   

原文地址:http://www.cnblogs.com/hackerl/p/7445562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!