cocos creator游戏适配这事

摘要:
在想cocos适配之前,我们想想网页是怎么适配的。css一般这样:.bg{height:582px;background-image:url;background-size:auto100%;background-position:centercenter;background-repeat:no-repeat;}.content{1000px;margin:0auto;}核心:background-position:centercenter;因为是背景图片,所以横向显示可以不全,但永远会显示中间的部分,就是我们的网页内容。content部分宽度是固定的,并且是居中的。回到cocos上,原理完全一样,让背景铺满,内容居中。

在想cocos适配之前,我们想想网页是怎么适配的。浏览器有各种规格,网页的一般做法是:背景图片铺满,网页内容保持在背景图片上居中,就实现了适应或者适配。css一般这样:

.bg{
height:582px;
background-image:url('images/top_team_bg.png');
background-size:auto 100%;
background-position: center center;
background-repeat: no-repeat;
}
.content {
1000px;
margin:0 auto;
} 

核心:

background-position: center center;

因为是背景图片,所以横向显示可以不全,但永远会显示中间的部分,就是我们的网页内容。content部分宽度是固定的,并且是居中的。
回到cocos上,原理完全一样,让背景铺满,内容居中。
背景铺满,在背景是顶级节点的情况下(和canvas平级),可以用Widget,left:0;right:0;
content居中我们用js去控制,下面的代码,在编辑器里我们设置content的宽度是2048,ts代码:

adaptScreen(items: Array<cc.Node>) {
if(cc.director.getVisibleSize().width <= 2048) return;
if(items instanceof Array) {
items.forEach(item => {
try {
item.x += Math.floor((cc.director.getVisibleSize().width - 2048) / 2 )
} catch(e) {
cc.log(e)
}
})
} else {
cc.log(items)
cc.log('传入的参数必须是数组')
}
}

免责声明:文章转载自《cocos creator游戏适配这事》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SharePoint 2010 技巧系列: 定制化历史版本页面(Version History page)jquery插件 imageScroller下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

用 shader effect 实现雨滴落水效果!Cocos Creator 3D !

最近逛论坛时,看到一位大佬在分享各种 shader 特效。基于其中的水波 shader ,白玉无冰写了一个玩水效果!文章底部获取完整代码!还可以试试水哦! 先一起看看效果~ 点击任意位置,会在该位置生成一个水纹,就像是雨水落在水洼中一样~ 如何使用 effect 文件?新建一个 material ,Effect 属性选择 water , 接着将纹理图片拖...

Cocos Creator 对象池NodePool

版本:2.3.4 参考: cocos教程:使用对象池 cocos的NodePool提供了一个数组,保存和获取数组内对象,并在保存和获取时可执行对象上的unuse和reuse方法。 使用相对简单,看看cocos教程即可。 主要是在获取对象池中实例时,不存在实例,则返回null,不会自动新建。 新建的代码得自己写。 cocos对象池源码 CCNodePool....

CocosCreator 从Git拉取项目meta文件变更问题 (资源变更警告、class already exists、大小写敏感)

参考: cocos meta git 提示 cocos论坛-资源变更警告 cocos论坛-class already exists meta文件被修改 从git拉取项目后,meta文件被修改 这个问题的原因是git在windows和linux不同系统间换行符不一样。 windows 换行符 linux 换行符 我们可以手动设置git让两个系统的文件的...

(23)事件分发机制

新事件分发机制:在2.x 版本事件处理时,将要触发的事件交给代理(delegate)处理,再通过实现代理里面的onTouchBegan等方法接收事件,最后完成事件的响应。而在新的事件分发机制中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatcher,所有事件监听器有这个分发器统一管理,即可完成事件响应。...

Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解

作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位。那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能。然而这个时候各种各样的问题也就来了,之前网上一直有零零碎碎的移植教程,但是都不完整,或是有这样或者那样的问题。今天刚刚研究成功了Cocos2dx-3.0版本项目的安卓平台移植...

cocos 事件转发

CCDirector在函数setOpenGLView中设置pobOpenGLView,同时会掉用 m_pobOpenGLView->setTouchDelegate(m_pTouchDispatcher);m_pTouchDispatcher被初始化为CCTouchDispatcher事件分发管理器。 CCEGLView继承CCEGLViewProt...