1.加载文件夹,并显示进度
cc.loader.loadResDir('/',
function (completedCount, totalCount, item) {//读取完一个文件之后会调用一次
var progress = (100 * completedCount / totalCount).toFixed(2);
this.label.string = (progress + '%');
}.bind(this),
function(err,textures){
cc.log('ok');
});
下面方法没有效果,不知道是写错了还是bug
cc.loader.onProgress = function (completedCount, totalCount, item) {
var progress = (100 * completedCount / totalCount).toFixed(2);
cc.log(progress + '%');
};
cc.loader.loadResDir('/',function(err,textures){
cc.log('ok');
});
2.cc是全局变量,可以把需要全局的变量放在cc.xx里,这样在别的地方可以直接使用,要注意xx是不是关键字。
3.如果资源比较多,可以用场景预加载,或者动态加载。
预加载
cc.director.preloadScene("table", function () {
cc.log("Next scene preloaded");
});
cc.director.loadScene("table");
再切换场景时,速度就会快很多。
动态加载了后面场景应用的资源,切换场景的时候就不需要再加载了。
查看平台
cc.sys.os
如果是安卓,显示Android,不管是浏览器还是app
cc.sys.OS_ANDROID
cc.sys.OS_IOS
判断是否为原生平台
cc.sys.isNative
动态加载资源,获取某个图片
cc.loader.loadResDir('/',function(err, objects, urls){
var url = 'resources/images/0.jpg';
var texture = cc.loader.getRes(cc.url.raw(url));
});
cc.loader.getRes()获取的是texture2d资源,不能直接赋值给sprite.spriteFrame
var url = 'resources/images/0.jpg';
var texture = cc.loader.getRes(cc.url.raw(url));
sprite.spriteFrame.setTexture(texture);
//如果spriteFrame不存在
sprite.spriteFrame = new cc.SpriteFrame(texture);
播放animationClip。animation.play(),需要传递的是clip的名字。
this.node.getComponent(cc.Animation).play(this.node.getComponent(cc.Animation).getClips()[1].name);
cc.blink可能会引起节点不显示,即使节点的opacity设置255。需要使用node._sgNode.setVisible(true)
QQ截图20180627105548.png新拉取的分支,使用单色精灵。default_sprite_splash会报这个错误
TypeError: Cannot read property ‘gizmo’ of null 报错解决方式
TypeError: Cannot read property ‘gizmo’ of null
调整亮度的实现方式,两张相同的图片叠加在一起,改变上面的图片的blend dst factor为dst_alpha,改变上面图片的透明度即可
image.png
粒子和拖尾的图片资源不能打包成图集
10.16
image.pngts实现如图效果
const { ccclass, property, menu } = cc._decorator;
@ccclass
@menu('Component/test')
export default class test{}
console.time() 和 console.timeEnd()得到一段代码的执行时间
打开Creator引擎的安装目录
/Applications/CocosCreator.app/Contents/Resources/static/preview-templates/boot.js
打开该文件, 添加相应分辨率大小.
// init device resolutions
var devices = [
{ name: 'IPhone X', width: 812, height: 375, ratio: 3 },
];
h5项目中,如果使用了webview,需要注意如果游戏的地址是https,webview打开的网页也要是https
ios平台需要注意的问题
creator版本2.0.10,
label的resize_height和shrink模式,多行文本显示可能会出现第一行文字只显示一半,解决办法,拆分文本,使用多个label显示
let d = new Date('2021-01-03 15:07:17') 在ios下d是NaN,解决办法,时间格式替换成'2021/01/03 15:07:17'
网友评论