小游戏开发经验交流分享

那就让玩家打开排行榜再授权登陆,不然损失20%用户,亏到爆炸

昨天已经改了。改成玩家拒绝授权也可以玩

感觉性能不太行,正在优化。目前修复了严重的内存泄漏,关闭了shader做的水波效果

好吧,去掉子域性能急剧提升:sunglasses:

子域改成微信原生实现方式了
https://forum.cocos.com/t/demo-api/64299

据说性能提升明显,下一步准备升级2.x

这个必须顶,楼主好人

引擎版本最初是v1.9.3先升到了v1.10.2然后直接v2.0.9,试了一下,确实性能巨大提升。

这个子域demo性能提升明显?

挺明显的啊。换新的子域好很多,再加上升级引擎。现在基本稳定60fps :sunglasses:

之前小米5经常掉帧掉到30以下,现在妥妥的60fps

想知道排行榜怎么做的

上面有链接啊

子域
https://github.com/weishuluo/creator_wechat_rank_demo

用子域不是可以解决这个问题吗

最近在研究帧同步,准备搞一款实时战斗的小游戏。目前浮点数还没彻底解决,看到网上的主流方法大多数定点数或者乘以1000.感觉js里用定点数效率貌似不太行,只能乘以1000了。

看了一下WXSubContentview.js的源码,用的就是wx的canvas啊

?子域现在是用wx原生api实现的啊,效率会高很多而且还能减小包体。

马克,.

const btnSize = cc.size(btnNode.width + 0, btnNode.height + 0);
const frameSize = cc.view.getFrameSize();
const winSize = cc.director.getWinSize();
const designSize = cc.view.getDesignResolutionSize()
console.log('winSize: ', winSize);
console.log('frameSize: ', frameSize);
// /////////////////////////////////////////////////////////////////////////////////////////////////////
// 适配不同机型来创建微信授权按钮
let rect = btnNode.getBoundingBoxToWorld()
let ratio = cc.view.getDevicePixelRatio()
let scale = cc.view.getScaleX()
let factor = scale / ratio
let offsetX = 0
let offsetY = 0
if (cc.Canvas.instance.fitWidth) {
offsetY = (frameSize.height - designSize.height * factor) / 2
}
else {
offsetX = (frameSize.width - designSize.width * factor) / 2
}
let top = frameSize.height - (rect.y + rect.height) * factor - offsetY
let left = rect.x * factor + offsetX
// /////////////////////////////////////////////////////////////////////////////////////////////////////
const width = btnSize.width / winSize.width * frameSize.width;
const height = btnSize.height / winSize.height * frameSize.height;
console.log('button pos: ', cc.v2(left, top));
console.log('button size: ', cc.size(width, height));
计算授权按钮位置