小游戏开发经验交流分享

最近在研究帧同步,准备搞一款实时战斗的小游戏。目前浮点数还没彻底解决,看到网上的主流方法大多数定点数或者乘以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));
计算授权按钮位置