cocos creator开发过程中问题记录

如何用Cocos Creator做flappyBird 花了两天时间去学习Cocos Creator并看教程学习了去做第一个游戏–flappyBird。 为什么用Cocos Creator? 仅仅看书去学习挺枯燥的,这个时候如果有一个软件可以让你迅速做出东西来,你就会很有成就感! Cocos Creator 是对新人非常友好的。而且你了解后会发现官方自己在做讲解的视频,实在是太有亲和力了。 Cocos Creator有什么优势? 先上一张图 前八都是... 阅读详情
1. 编辑器不能识别脚本里面@property类型,显示为null,脚本拖不上去

解决方案:

@property的类循环引用导致的,可以改变组件类型到cc.Node解决
2. Cannot read property ‘_assembler’ of null

解决方案:

场景某一个子节点 onload方法里抛出异常,导致后面所有的onload不能顺利执行,导致render组件未能初始化.
初始化onload的地方打断点调试跟踪,可具体定位查看具体错误位置
3. target.getComponent is not a function

解决方案:

button所依赖的节点从某个方法上发生了属性改变.检查Button类的节点绑定的一些属性节点对象
4. 跨多层节点坐标转换问题

解决方案:

先将目标节点转化为世界坐标,然后在转换成对应节点的坐标.
转换api: 
convertToWorldSpaceAR 
convertToNodeSpaceAR
5. Illegal target which doesn’t have uuid or instanceId

解决方案:

自定义组件类是否定义了属性 _id
6. 开启模拟器调试界面中的Pause on exception

开发调试的过程中,开启模拟器调试界面中的Pause on exception,该功能能够在程序发生异常的时候自动在发生异常处断点,并完好的保留错误现场。保持这个功能的开启能够有效提升开发效率和质量。

7. destroy 和 removeFromParent

调用一个节点的 removeFromParent 后,它不一定就能完全从内存中释放,因为有可能由于一些逻辑上的问题,导致程序中仍然引用到了这个对象。因此如果一个节点不再使用了,请直接调用它的 destroy 而不是 removeFromParent。destroy 不但会激活组件上的 onDestroy,还会降低内存泄露的几率,同时减轻内存泄露时的后果。总之,如果一个节点不再使用,destroy 就对了,不需要 removeFromParent 也不需要设置 parent 为 null

Cocos Crator开发攻略,小游戏开发全过程 COCOS微信小游戏开发完整记录 -> 结尾有惊喜 背景 因为我个人喜欢游戏,一直想做一小游戏,但是一直拖着,没时间做,现在终于在周末空闲时间做了一个微信小游戏。 第一次写技术文章,篇幅可能较长,但是自我感觉干货满满,如果有不好的地方希望小伙伴们多多提出意见,内含游戏核心数值设计的全过程。 如果你正准备做游戏开发,或者不知道怎么下手,希望本文能为你带来一定的收获 废话不多说,先上图看看效果,如果想先体验,可直接拖到底部 目录 游戏玩法介绍 数值设计(砖块血量,玩家攻击,攻速等关系) 开发过程 阅读详情

相关推荐

cocos-creator使用记录9_微信小游戏的分享

1.右上角的分享(被动分享)onLoad: function(){ //开启右上角的分享    wx.showShareMenu(); //监听右上角的分享调用  cc.loader.loadRes("texture/share",function(err,data){ wx.onShareAppMessage(function(res){ return { title: "不怕,就来...

haibo19981的专栏 9332

Cocos Creator 计时器错误 cc.Scheduler: Illegal target which doesn't have uuid or instanceId.

版本:2.3.4 在使用计时器Scheduler时,如果是在自定义类里,则会报错 例如如下代码 const {ccclass, property} = cc._decorator; @ccclass export default class Test{ constructor(){ let s:cc.Scheduler = cc.director.ge...

gamedaybyday 2203

Cocos Creator SDK接入OPPO篇

官方文档入口:http://docs.cocos.com/creator/manual/zh/publish/publish-oppo-instant-games.html OPPO文档入口:https://cdofs.oppomobile.com/cdo-activity/static/201810/26/quickgame/documentation/#/games/quickgame 其实oppo的sdk是可以完全可以按照oppo的示例demo进行傻瓜式接入的,博主本人也是按照这个demo进行sd

qq_40303068的博客 4355

【cocos creator】VM487:1151 cc.Scheduler: Illegal target which doesn‘t have uuid or instanceId.

先说结论:是由于在继承了cc.Component的脚本中定义了名为“ _id ”的字段,导致在node节点中添加子物体的时候(addChild或者setParent等),出现该报错,并且这个报错还是偶现的。解决:把该变量名改一下就可以了。

qq_62520130的博客 512

初识cocos creator,做一款H5小游戏

分享内容预览 小游戏体验。 cocos creator 前世今生。 基本开发环境的了解。 小游戏场景制作相关知识。 基础语法讲析。 sunlands-cow demo的讲解。 构建,发布。(h5, 微信小游戏) 小游戏体验: web 星星:https://hytstart.github.io/star/ h5 小牛:https://hytstart.github.io/cow/ 一、co...

weixin_34301307的博客 9600

如何通过cocos creator发布原生android应用

通过cocos creator发布原生android应用最近从网上down下了一个麻将游戏的客户端与服务端的代码,打算架起来看一看,客户端需要通过cocos creator进行预览以及发布,没想到花了一天时间才弄好,我的电脑环境是win7系统,现在将搭建步骤进行整理记录如下,:本文主要参考了cocos creator 的入门教程 http://www.cocos.com/docs/creator/g

u010957664的博客 8697

cocoscreator getSpriteFrame is not a function 问题

获取和加载资源http://docs.cocos.com/creator/manual/zh/scripting/load-assets.html使用loadRes时报错getSpriteFrame is not a functioncc.loader.loadRes("test assets/sheep", cc.SpriteAtlas, function (err, atlas) { ...

学习笔记 6449

cocos-creator使用记录26_微信登录授权

1.前言 http://forum.cocos.com/t/topic/59471 为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。 从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口, 将无法弹出授权询问框,默认调用失败。正式版暂不受影响。开发者可使用以下方式获取 或展示用户信息: 小游戏: (1)...

haibo19981的专栏 5359

Uncaught TypeError: Cannot read property ‘_assembler‘ of null

cocos creator 中报Uncaught TypeError: Cannot read property ‘_assembler’ of null异常很大原因是脚本中onload方法抛出了异常

zhuangmszhuangms的博客 751

SpringBoot3项目实战:5分钟搞定Knife4j接口文档配置(含中文版设置)

本文详细介绍了在SpringBoot3项目中快速整合Knife4j接口文档工具的实战教程。内容涵盖核心依赖选择、基础配置、中文界面设置、API信息深度定制以及生产环境安全策略,帮助开发者高效构建专业、可交互的API文档门户,提升团队协作效率。

weixin_29204121的博客 256

雷达信号处理DDC数字下变频

由于接收到的雷达信号频率较高,不能对其进行直接采样并数据处理,所以需要对雷达信号进行预处理,在降低其采样率的同时,将其由中频降低到低频,然后对输出的基带信号进行后续的解析,以便于获取雷达信号的特征参数。 本文采用数字正交下变频,将单通道信号转化为正交双通道信号,数字下变频(DDC)的原型为模拟下变频,通过对窄带雷达信号或单频信号进行数字混频,然后对信号进行正交采样,提取 I、Q 两路正交分量,最后通过滤波去除信号中的高频分量,将信号由中高频搬移至低频。 模拟下变频的系统框图如下: 其数学推导.

qq_44033461的博客 5226

解决cocoscreator+typescript开发中遇到的for循环延时执行问题

做一个卡牌游戏,有一个需求,需要在for循环中延时执行一些逻辑。 期初用了cc.tween.delay(时间).call(回调函数)的方式,发现不行。 后来想起来可以用setTimeout来解决,正解。 但是使用setTimeout是有坑的,不能直接像下面这么写,否则延时函数里的i是不对的。 for(let i=0;i<5;i++){ setTimeout(function () { console.log('---------------'+i); },

hichina 2188

别再死磕RD算法了!用MATLAB手把手复现SAR后向投影(BP)成像(附完整代码与避坑点)

本文详细介绍了如何使用MATLAB实现合成孔径雷达(SAR)后向投影(BP)成像算法,突破传统RD算法在大斜视和复杂轨迹场景中的局限。通过完整的代码示例和避坑指南,帮助读者掌握BP算法的核心原理、内存优化策略和并行计算技巧,提升SAR成像精度与效率。

weixin_30908103的博客 296

cocos creator打卡第二天

昨天在写代码时遇到的两个问题 问题一:人物在进行滑动时离开地面 解决:将所有Animation.play的操作换成一个自定义的函数,在此函数中判断人物的动画名称,若为滑动,则调用node.setPosition(x,y)设置节点移动的位置;若为跑,再次调用node.setPosition(x,y)回到原来的位置 问题二:当鼠标移出滑动按钮时人物依然在滑动,没有切换到跑的状态 解决:Node.Eve...

HertzDL的博客 353

03 Aras Innovator二次开发-服务端方法(二)

Aras Innovator二次开发-服务端方法书写

企业信息化(PLM,ERP.MES) 2014

《机器人学一(Robotics(1))》_台大林沛群 第 3 周 【机械手臂 顺运动学】Quiz 3

的方向,旋转方向与四指弯曲方向相反,为负, α为 -90。的方向,旋转方向与四指弯曲方向相反,为负, α为 -90。bug 的图 要求解的 i 位置有误 两套 题目?B. 第2个 坐标系 的原点位置 不便于 计算;上面的正确,后两题 有误, 不知道问题在哪里。标准部分, 前面的更常用,这种仅作为 了解。还是计算过程中保留两位有效数字 不符合。2、确定 旋转角 α 正负的右手定则。1、确定坐标系方向的右手定则。可相交,距离为 0。A: 右手拇指指向。小数点后两位,不符合。

weixin_46034116的博客 1242

2022软工K班结对编程任务

【逍遥骰】2022·K班结对编程任务

m0_63562242的博客 602

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp

[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp 文章目录[misc]智能车协议分析:2020网鼎杯青龙组misc_teslaaaaa_wp分析log文件格式分析协议组成UDS网络传输层UDS统一诊断服务协议分析文件提取文件逆向flag计算参考链接: teslaaaaa这道题是青龙组被做出来的题目中做出来人数最少的,直到比赛快结束才有第一个人做出来,怎么说,难并不是因为脑洞大,讲道理这道题是一道好题,我当时也是肝了一天没做出来,我倒是把文件提取出来了,奈何比赛时间已经接近尾

Breeze的博客 1万+

Golang 后端程序员用 7 天做了一款微信小游戏:一次 AI Coding 实战

后端 Golang 程序员,用 7 天做了一款微信小游戏

u010802756的博客 174

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7316

⑩电子产品拆解分析-家用无线遥控开关433Mhz

①免布线随意贴,装上就能使用解决单线开关烦恼;②遥控配对简单,无线通讯距离长,信号可穿墙;

a6662580的博客 4683

小白练习cocos creator——property用法记录

property用法记录 参考文档:官方文档-属性检查器 在记录property用法之前,先说下从官方文档中摘抄的笔记:用property修饰的属性是组件脚本中声明的公开的并可被序列化存储在场景和动画数据中的变量。通过 属性检查器 我们可以快捷的修改属性设置,达到不需要变成就可以调整游戏数据和玩法的目的。 通常可以根据变量使用内存位置不同将属性分为 值类型 和 引用类型 两大类。 值类型包括数字、字符串、枚举等简单的占用很少内存的变量类型: 数值(Number):可以直接使用键盘输入,也可以按.

qq_27905767的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Cocos Creator 试玩广告开发

试玩开发

weixin_70808146的博客 3060

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

cocos creator开发中遇到的问题和解决方案

总结一下使用cocos开发遇到的坑,不定期更新。

lcy的博客 3961

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Cocos creator热更新

Cocos Creator热更新实现要点 Cocos Creator的热更新功能通过资源包(Asset Bundle)和清单文件(Manifest)机制实现,主要包含以下核心步骤: 服务器部署:使用Nginx搭建资源服务器,配置自动索引功能,存放更新资源包和清单文件 清单文件生成:通过官方工具生成project.manifest和version.manifest,记录资源版本和校验信息 客户端更新流程: 检查本地与服务器清单文件差异 下载更新资源包 处理更新过程中的各种状态(无更新、版本最新、发现新版本等)

qq_16827895的博客 2116

Cocos Creator Editor 编辑器扩展API记录

更多:https://forum.cocos.org/t/creator-api/92605https://blog.csdn.net/qq_17209641/article/details/106822296 let nodeUuids=Editor.Selection.curSelection("node"); let node=cc.engine.getInstanceById(n...

kingBook928的博客 2737
上一篇: 常用方法整理
下一篇: Cocos Creator实用技巧:头像倒计时效果实现
7-sevens
博客等级 码龄10年 259粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值