1>编辑器不能识别脚本里面@property类型,显示为null,脚本拖不上去

是@property的类循环引用导致的,可以改变组件类型到cc.Node解决

2> Cannot read property '_assembler' of null ,切换场景时出现。

在这个案例中,场景某一个子节点 onload方法里抛出了一个错误,导致后面所有的onload不能顺利执行,导致render组件未能初始化

3>使用NodePool创建对象池,第一次使用放进去再取出 触摸事件不见了,再次添加也加不上。

 这个问题花了我三个小时查出来,在此公布答案希望大家不要犯。我把node节点从父节点remove了,然后put进对象池,再取出来就没了点击事件。
解决方法有2 不要remove, 在remove里clearup置位false
4>使用代码添加animation不显示 
还需要添加sprite,切记切记
5>跨多层节点转换坐标. 需要先将目标节点转化为世界坐标,然后在转换成对应节点的坐标.使用api:

convertToWorldSpaceAR

convertToNodeSpaceAR
6>碰到了带物理的节点与回收池异常的问题.从回收池出来的第二次利用的节点对implus调用反应动作的异常. 一开始以为是引擎bug.然而论坛反馈问题刚写到一半,忽然想到,
会不会事情倒过来了.第一次是异常的,第二次的表现才是正确的.为了验证这个猜想,将编辑器上的相关数据改动,一看,果然,第一次使用的是编辑器上的默认值.那么,为什么在代码中改动会不生效呢.
这要怪罪于我对物理系统并不怎么熟悉的缘故.须知改动任何的collider的属性,都要apply一下.这样引擎内部会重新生成box2d碰撞盒子.
7>removeFromParent方法并不会调用节点脚本上的onDestory方法.  会调用onDisable
8>设置sprite的spriteFram需要使用texture2d new一个对象出来.直接赋值可能导致多个sprite使用一个texture2d对象,造成意料之外的行为.
9>put进对象池的操作会自动将其从父节点脱离,.所以在onDisable里面进行put操作会导致重复脱离. 并且导致后面的引擎disable操作空指针错误.
 
10>target.getComponent is not a function   button所依赖的节点从某个方法上发生了属性改变。变成非cc.Node属性。浏览器调试排查出错误。
11>js几乎同一时间,同一帧里面调用同一个方法2次。碰撞检测会出现这个情况,在同一帧里面调用2次碰撞回调。这时候 依赖碰撞检测执行的代码会调用2次或以上,这与我的逻辑相违背。一开始我在代码里面设置了标志位,遗憾的是行不通。想来js是单线程运行。虽然是在一帧里面执行代码2次,但也有先后。而设置标志位,是建立在一些语言可以多线程运行的情况,跑的快的先占这个方法,在他没执行完的时候其他调用返回。既然如此,最后我用了什么方法呢,读取了引擎目前为止所有的帧数,使用变量存储,等待js在同一帧第二次跑这个方法,用帧数判断是否重复执行。其实现在看起来是很基础的常识,然而我搞了半天才理解这个概念。
12>loadRes加载的资源会保留在cc.loader的cache中,你的this.list只是引用,因此改变this.list的元素,也就是改变了cache中这个数组的元素。

再次进行cc.loader.loadRes时,由于这个资源已经被load过了,就会直接取cache中的给到你。因此你会发现再加载得到的内容中有新增的元素。

解决办法:

方案1、json加载后进行深拷贝后再使用
方案2、再次加载前使用cc.loader.releaseRes("level"),释放掉之前的资源,然后再进行重新加载

使用cocos creator的过程中碰到的问题记录的更多相关文章

  1. RVM的安装和使用过程中碰到的问题

    Ruby Version Manager简称RVM,是一款非常好用的ruby版本管理以及安装工具. 关于rvm的安装,可以参考以下文章: use rvm install and manage ruby ...

  2. 【RAC】 RAC For W2K8R2 安装--安装过程中碰到的问题(九)

    [RAC] RAC For W2K8R2 安装--安装过程中碰到的问题(九) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...

  3. APP store 上架过程中碰到的那些坑&被拒的各种奇葩原因整理&审核指南中文版

    苹果官方发布的十大常见被拒原因 1.崩溃次数和Bug数量.苹果要求开发者在将应用提交给App Store之前彻查自己的应用,以尽量避免Bug的存在. 2.链或错误的链接.应用中所有的链接必须是真实且有 ...

  4. 使用Linq的过程中碰到的问题

    1. 在使用linq过程DefaultIfEmpty的过程中如果 O.RS 这个支段的值是null,在取这个数据 就会报错 ,正确的写法 2. 在使用Linq 用where条件判断要好分辨大小写 3. ...

  5. 【Angular JS】网站使用社会化评论插件,以及过程中碰到的坑

    目前正在开发自己的网站,技术上使用Angular JS + Express JS + Mongo DB.由于网站会有文章发布,因此需要有评论功能.评论功能也可以自己开发,但由于现在社会化评论插件很多, ...

  6. 记录下通过Java代码打开cmd启动appium server及在使用过程中碰到的问题

    1.appium server启动后,执行测试脚本,appium日志报错,提示appium setting未安装(原因是小米手机在用appium desktop调试时总是提示是否安装appium se ...

  7. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  8. linux安装和配置 mysql、redis 过程中遇到的问题记录

    linux下部署mysql和redis网上的教程很多,这里记录一下我部署.配置的过程中遇到的一些问题和解决办法. mysql ①安装完成后启动的时候报错 Starting MySQL.The serv ...

  9. linux安装和配置 mysql、redis 过程中遇到的问题记录(转)

    章节目录 mysql redis linux下部署mysql和redis网上的教程很多,这里记录一下我部署.配置的过程中遇到的一些问题和解决办法. mysql ①安装完成后启动的时候报错 Starti ...

随机推荐

  1. CSS-Sass

    什么是css预处理器

  2. [nodemon] clean exit - waiting for changes before restart

    出现上述日志信息,程序就不能往下运行了. 原因:node程序在初始化的时候就报错了,仔细debug吧...

  3. maven与eclipse集成

    https://www.cnblogs.com/teach/p/5906425.html

  4. 【安全性测试】Android测试中的一点小发现

    在执行某个项目中的APP测试发现的两个问题,自然也是提供参考,作为经验记录下来. 一.通过apk的xml文件获取到某项目APP的账号和密码 使用eclipsel或者drozer,获得apk的xml文件 ...

  5. css 网格布局简单应用

    将属性 display 值设为 grid 或 inline-grid 就创建了一个网格容器,所有容器直接子结点自动成为网格项目. grid :网格项目按行排列,网格项目占用整个容器的宽度. inlin ...

  6. JS基础学习3

    1.控制语句 (1)if控制语句 if-else基本格式 if (表达式){ 语句1; ...... }else{ 语句2; ..... } 功能说明 如果表达式的值为true则执行语句1, 否则执行 ...

  7. __http原理__HTTP 协议简介

    HTTP 协议通信流程 超文本 除了文本以外,还有其他数据类型的内容 HTTP 协议 指计算机网络通信中 两台计算机之间所必须遵守的规定或规则 Hypertext Transport Protocol ...

  8. Linux中使用Apache发布html网页

    在线学习: https://www.shiyanlou.com/courses/1 工具/原料 Linux,httpd,vi 样例html文件一份 方法/步骤   1 编辑httpd配置文件 2 查找 ...

  9. eclipse创建spring boot项目,tomcat启动成功,但http://localhost:8080无法访问报错404解决方案

    spring boot的启动程序启动后,在访问http://localhost:8080地址的时候出现了错误,为什么出错网上我找了好久也没有得出具体的解决办法 当我指定到具体的action的时候,却可 ...

  10. npm 安装 chromedriver 失败的解决办法

    https://segmentfault.com/a/1190000008310875 npm install chromedriver --chromedriver_cdnurl=http://cd ...