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. Ubuntu在终端执行命令时出现的错误

    1.在安装jdk时无意间结束了安装进程,然后就提示这个错误 E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/d ...

  2. C++ 配置文件类的封装

    有时开发项目,需要对数据库等配置放到程序对外面作为配置文件,配置文件对读取 ConfigManager.h /* * ConfigManager.h * * Created on: 2018年7月28 ...

  3. Codeforces.1043F.Make It One(DP 容斥)

    题目链接 \(Description\) 给定\(n\)个数\(A_i\),求最少选出多少个数,使得它们的\(\gcd\)为\(1\). \(n,A_i\leq3\times10^5\). \(Sol ...

  4. luo3372线段树模板的分块做法

    题目大意 请你维护一个有n个元素的整数序列,要求支持区间查询&区间修改 对于100%的数据,\(1<=n<=10^5\) 分析 正常做法是线段树维护区间修改.区间查询,今天我要讲的 ...

  5. kafka安装与测试

    基于linux-Centos7.0环境先进行测试学习 Producer即生产者,向Kafka集群发送消息,在发送消息之前,会对消息进行分类,即Topic, Topic即主题,通过对消息指定主题可以将消 ...

  6. eclipse部分常用快捷键

    -------------eclipse常用快捷键------------- 1.alt+?或alt+/:自动补全代码或者提示代码 2.ctrl+o:快速outline视图 3.ctrl+shift+ ...

  7. 提高你的python:解释 yield 和 Generators(生成器)

    转自:http://www.oschina.net/translate/improve-your-python-yield-and-generators-explained 原文:http://www ...

  8. 开启windows的 admin+开启tel+电源+远程功能

    1.控制面板   小图标   程序功能   打开关闭windows功能     开启Telnet 的服务两个都选         2. 启动tel服务   控制面板  小图标 管理工具 服务 找到 t ...

  9. day25:接口类和抽象类

    1,接口类和抽象类知识背景:一开始在程序界是没有这些概念的,后来就流行了一种语言叫做JAVA,JAVA是一种典型的纯面向对象的语言,JAVA写的程序都是非常适用于更庞大的项目,很多程序员就总结出了一些 ...

  10. boot跳转到app后,中断不起作用的原因

    boot跳转到app后 osKernelStart()之前,中断有问题,不起作用 原因是因为boot跳转之前__disable_irq(); 跳转到APP后,并不是一切从头开始,__disable_i ...