打开cocos2d-HTML5/cocos2d/core/platform/CCEGLView.js,找到_setupContainer方法将
var devicePixelRatio = view._devicePixelRatio = 1;改为
var devicePixelRatio = view._devicePixelRatio = window.devicePixelRatio || 1;在cocos2d-html5/cocos2d/下找到CCDrawingPrimitivesCanvas.js。打开这个文件,309行找打drawImage方法。加入以下代码
var ctx = this._renderContext;
(function (canvas, ctx) {
var devicePixelRatio = window.devicePixelRatio || 1;
var backingStorePixelRatio = ctx.webkitBackingStorePixelRatio ||
ctx.mozBackingStorePixelRatio ||
ctx.msBackingStorePixelRatio ||
ctx.oBackingStorePixelRatio ||
ctx.backingStorePixelRatio || 1;
var ratio = devicePixelRatio / backingStorePixelRatio;
if (devicePixelRatio !== backingStorePixelRatio) {
sourceSize.width *= ratio;
sourceSize.height *= ratio;
ctx.scale(ratio, ratio);
}
本文介绍如何修改Cocos2d-HTML5源码以实现设备像素比(devicePixelRatio)的正确应用,确保游戏在不同分辨率设备上正常显示。通过调整CCEGLView.js和CCDrawingPrimitivesCanvas.js中的代码,使得图像和UI元素能够清晰呈现。
2760

被折叠的 条评论
为什么被折叠?



