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 接触一个月的感受和心得的更多相关文章

  1. 学习PHP一个月的感受

    学习PHP将近一个月了,接触IT这个行业也是从去年开始的,在这之前,IT行业只是耳闻,并不是很了解.接触IT这个行业以后,我最大的感受是,学起来并不是很困难,难的是要去精通它,我们必须时刻保持一颗学徒 ...

  2. java工程师之旅-一个月工作心得

    不知不觉,在工作中已经度过一个月,距离上次写文章已经好几个月了,正好还有二十分钟下班,抽点时间来写一下博文,写一下心得. 首先说一下,在我工作之前,做了一个项目,和一个外校大四的学生做一个毕业设计,一 ...

  3. 裸辞两个月,海投一个月,从Android转战Web前端的求职之路

    前言 看到这个标题的童鞋,可能会产生两种想法: 想法一:这篇文章是标题党 想法二:Android开发越来越不景气了吗?前端越来越火了吗? 我一向不喜欢标题党,标题中的内容是我的亲身经历.我是2016年 ...

  4. 前端写一个月的原生 Android 是如何一种体验?

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/j01G58UC80251/article/details/79017706 一个前端程序猿的一个月原 ...

  5. 自学一个月的java了

    不知道这篇博文有不有朋友看到.先自我介绍一下,硕士一年级下学期. 对编程感兴趣,硕士一年级下学期转学计算机专业,目前刚好一个月的时间.接触计算机也是刚好一个月的时间. 学习了java,javaweb. ...

  6. 学了近一个月的java web 感想

    对于每天学习的新知识进行一定的总结,是有必要的. 之前我学的每一门知识,我都没有怎么总结自己的问题,也没有怎么去想想该怎样才能学的更好,把知识掌握的更牢固.从现在开始呢,我会每半个月,或每一个月总结总 ...

  7. 笨重的mfc还在基于系统控件,熟练的mfc工程师还比不过学习Qt一个月的学生开发效率高(比较精彩,韦易笑)

    作者:韦易笑链接:https://www.zhihu.com/question/29636221/answer/45102191来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新:擦,本来只有 ...

  8. #umn 来美国近一个月的简单见闻

    时光如梭,到美国已经快要一个月了,从最初12+4飞行的劳累,到一开始每天吃了上顿没下顿的担心,到后来开始上课的不适,现如今生活已经基本步入了正轨,每天上上课写写作业,去rec center打打球健健身 ...

  9. 入职一个月快速熟悉大型Vue项目经验感想

    来到和睦的公司家庭已经一个月出头了,从技术层面来说,公司项目PC端是我目前来说接触的最大最复杂的项目了,德老师也说这个不断开发更新迭代的项目的代码量相对于全国的web来说是蛮多的,对于快速熟悉这样的大 ...

随机推荐

  1. 2018.8.8 Noip2018模拟测试赛(二十一)

    日期: 八月七号  总分: 300分  难度: 提高 ~ 省选    得分: 112分(OvO) 题目目录: T1:幸福的道路 T2:Solitaire T3:Flags 赛后心得: 第一题裸树d啊! ...

  2. net4:Panel动态添加控件及隐藏,Table动态创建表格

    原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  3. ubuntu16.04下安装wine1.8.2

    如果是amd64则需要执行这个: sudo dpkg --add-architecture i386 1 1 添加wine最新的源 sudo add-apt-repository ppa:wine/w ...

  4. php set_time_limit(0) 设置程序执行时间的函数

    一个简单的例子,在网页里显示1500条语句,如果未设置失效时间,则程序执行到791时结束了,如果把 set_time_limit(0); 前的注释符//去除,则程序直到1才结束.   set_time ...

  5. AC日记——丢瓶盖 洛谷 P1316

    题目描述 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? 输入输出 ...

  6. 在centos7环境下建立MariaDB多实例

    环境全部基于vmware player 12 os: centos7 mariadb: mariadb-10.1.12-linux-x86_64.tar.gz 主要根据MariaDB给出的帮助文档,以 ...

  7. Wireshark如何选择多行

    Wireshark如何选择多行   在Wireshark中,用户经常需要选择几行,然后进行批量操作,如导出或者分析.但Wireshark没有提供通过鼠标直接选择多行的功能.这个时候,用户需要采用标记分 ...

  8. Zab算法详解

    Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量 ...

  9. Spring Boot中使用AOP记录请求日志

    这周看别人写的springboot后端代码中有使用AOP记录请求日志,以前没接触过,因此学习下. 一.AOP简介 AOP为Aspect Oriented Programming的缩写,意为:面向切面编 ...

  10. Maven修改默认中央仓库

    其实Maven的默认仓库是可以修改的.比如使用阿里云的镜像地址等. 修改步骤: 1.打开{M2_HOME}/conf/settings.xml文件,找到mirrors节点,修改如下代码: <mi ...