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

本文共 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

你可能感兴趣的文章
正确配置jstl的maven依赖,jar包冲突的问题终于解决啦
查看>>
利用KMP算法解决串的模式匹配问题(c++) -- 数据结构
查看>>
登录内网账号后,连接不上内网网址
查看>>
安装 MariaDB
查看>>
【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h
查看>>
纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!...
查看>>
java 为啥变量名前要加个m?
查看>>
探索Android中的Parcel机制(上)
查看>>
c++ 类型定义
查看>>
C#开发微信门户及应用(5)--用户分组信息管理
查看>>
怎样实现前端裁剪上传图片功能
查看>>
ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
查看>>
2011/7/3 第二次评审
查看>>
Openvswitch手册(2): OpenFlow Controller
查看>>
tar解压
查看>>
inheritprototype原型继承封装及综合继承最简实例
查看>>
【磁耦隔离接口转换器】系列产品选型指南
查看>>
Apriori 关联算法学习
查看>>
二叉树、红黑树、伸展树、B树、B+树
查看>>
Junit核心——测试集(TestSuite)
查看>>