Cocos2dx 3.0 实战之—— 重写《超级马里奥》其二 加入自适应策略

Cocos2dx 3.0 实战之—— 重写《超级马里奥》其二 加入自适应策略,第1张

概述做了2年的跨平台,无论是Sencha Touch也好,Qt Quick也好,Cocos2dx也好,屏幕的自适应始终是让人很头疼很恼火的事情。 虽然官方给了多套资源的方法,但是有时候想想,一个小游戏还搞那么多资源确实挺浪费的。 最近在官网找到这样的资料,虽然是JS版本的,经过本人的修改弄成了一个C++版本。并测试过,证实还是可行的。 这里给出官网链接:http://cn.cocos2d-x.org/

做了2年的跨平台,无论是Sencha touch也好,Qt Quick也好,Cocos2dx也好,屏幕的自适应始终是让人很头疼很恼火的事情。


虽然官方给了多套资源的方法,但是有时候想想,一个小游戏还搞那么多资源确实挺浪费的。


最近在官网找到这样的资料,虽然是Js版本的,经过本人的修改弄成了一个C++版本。并测试过,证实还是可行的。


这里给出官网链接:http://cn.cocos2d-x.org/tutorial/show?id=1434


然后给出我的源码:


//设计的资源宽,高	float designWIDth = 480;	float designHeight = 320;	//设备的宽高	float deviceWIDth = glvIEw->getFrameSize().wIDth;	float deviceHeight = glvIEw->getFrameSize().height;	//设置缩放比例以及x,y轴的实际差	float scale = 1.0f,gapX = 0.0f,gapY = 0.0f;	//得到缩放比例	scale = deviceWIDth / designWIDth;	float scaledHeight = designHeight * scale;	//得到X,Y轴差	if (scaledHeight <= deviceHeight) {		gapY = (deviceHeight - scaledHeight);	}	else {		scale = deviceHeight / designHeight;		float scaleDWIDth = designWIDth * scale;		if (scaleDWIDth <= deviceWIDth) {			gapX = (deviceWIDth - scaleDWIDth);		}	}	//设置分辨率和资源的配置	glvIEw->setDesignResolutionSize(480 + gapX / scale,320 + gapY / scale,ResolutionPolicy::SHOW_ALL);

加入位置如图:



最后别忘了设置窗口的大小,如图

总结

以上是内存溢出为你收集整理的Cocos2dx 3.0 实战之—— 重写《超级马里奥》其二 加入自适应策略全部内容,希望文章能够帮你解决Cocos2dx 3.0 实战之—— 重写《超级马里奥》其二 加入自适应策略所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1023640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存