博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tui-x 自适应屏幕 (转) ----- 6
阅读量:6829 次
发布时间:2019-06-26

本文共 1422 字,大约阅读时间需要 4 分钟。

1.Tui-x 是怎么设置自适应屏幕的

Tui-x 是默认开启自适应的。开发者只需要关注自己设计尺寸就好了,而Tui-x的默认设计分辨率是480*800,如果你是希望设计分辨率是960*640的话,你需要手动设置一下

[cpp]
  1. <span style="font-size:14px;"><span style="font-size:14px;">TuiManager::getInstance()->setAdaptResolution(true,960,640); //手动设置设计分辨率</span></span>  

开启自适应后,Tui-x会根据真实分辨率和设计分辨率的缩放比来进行坐标缩放,这个自适应的容器是CWidgetWindow,目前只有它是自适应容器,所有它的子节点都会进行坐标缩放,从而达到自适应的目的。

2.Tui-x 是怎么对动态点做自适应的

虽然说2dx自带了几种适应的设置方案,但它们都仅仅是对渲染画面进行拉伸,没有达到 真正的自适应,图像拉伸后会变形,如果用FIX_WIDTH这类设置会被裁切或留有黑边,不完美。其实,只要做到坐标缩放就可以解决上述的问题。但是还有 一个问题,如果你的程序是480*800,里面的Sprite写死setPosition(Vec2(100,100)),那么在高分辨率和低分辨率里面 的表现是不一样的,因为高分辨率的100,100是会偏左下角一点,  低分辨率的100,100 看起来会相对离左下角远一些。这是因为,你这个100,100已经写死在代码里面了,无法自适应。很多时候我们的动画一般会在代码里面写死这些点,比如

[cpp]
  1. <span style="font-size:14px;"><span style="font-size:14px;">Sprite *pSp = Sprite::create("hello.png");  
  2. MoveTo *actMoveTo = MoveTo::create(1.0f,Vec2(100,100));  
  3. pSp->runAction(actMoveTo);  
  4. </span></span>  

这种动画在游戏中非常常见,但是,它无法做到自适应分辨率,因为坐标写死了,那么要怎么才能达到自适应动态点呢? Tui-x 提供一个宏 Arp ,现在你可以这么写

[cpp]
  1. <span style="font-size:14px;"><span style="font-size:14px;">Sprite *pSp = Sprite::create("hello.png");  
  2. MoveTo *actMoveTo = MoveTo::create(1.0f,Arp(Vec2(100,100)));  
  3. pSp->runAction(actMoveTo);  
  4. </span></span>  

这样就能自适应动态点了。因为Arp宏会将你这个坐标进行缩放,从而实现动态点自适应。

如果是Tui-x Lua项目可以在入口初始化时候定义一个全局函数Arp,在程序需要动态定点的时候就用Arp即可,用法同上。

3.交流

CocosWidget 官方群261286285 Tui-x 官方群 347085657  

4.下载

Tui-x 2.x :      Tui-x 3.x  

转载于:https://www.cnblogs.com/dudu580231/p/4992546.html

你可能感兴趣的文章
MoonScript 0.2.2 发布,基于 Lua 的脚本语言
查看>>
assertThat使用方法
查看>>
2013年11月11日工商银行笔试总结
查看>>
Qt之问题求助——当VS遇到“向Pro中添加代码”怎么办?
查看>>
使用reserve函数避免vector和string的内存重新分配
查看>>
ADO.NET(内含存储过程讲解)
查看>>
利用TreeView实现C#工具箱效果
查看>>
PyTalk : a Jabber Client un Python using xmpppy and PyQt4
查看>>
C++类构造函数初始化列表(转)
查看>>
13最佳WordPress的维护插件
查看>>
Missing Screenshot 的解决方案
查看>>
jQuery:1.5.4.3,表格变色(单击行,把当行的单选按钮(radio)设为选中状态,并应用当前样式)...
查看>>
oracle11gR2安装示例数据库
查看>>
解决ssh的"Write failed: Broken pipe"问题
查看>>
Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
查看>>
拒绝alert调试js,浏览器调试js大全(火狐firefox浏览器,谷歌chrome 浏览器,微软ie9浏览器等)...
查看>>
《深入理解Nginx》阅读与实践(三):使用upstream和subrequest访问第三方服务
查看>>
NGUI:HUD Text(头顶伤害漂浮文字)
查看>>
HTML/CSS/Javascript代码在线压缩、格式化(美化)工具
查看>>
linux命令学习-复制(cp,scp)
查看>>