分不清楚Size和Scale到底有什么本质区别呢?比如一个有Sprite组件的节点,调整节点的Size和Scale有没有什么本质上的区别呢?

分不清楚Size和Scale到底有什么本质区别呢?比如一个有Sprite组件的节点,调整节点的Size和Scale有没有什么本质上的区别呢?

  1. 新建一个Layout,设置属性Type=HORIZONTAL, Resize=CONTAINER
  2. Layout下创建一个默认的Sprite,并复制两份
  3. 选中中间的Sprite,分别调整Size和Scale,观察效果
1赞

size是尺寸,是这个结点有多大,用点比较合直觉的说法,可以理解为一张图的尺寸,即便可能这个图片纹理的尺寸不一致,但引擎仍然会帮你把这个图片拉伸成这样。然后这个图就是拉伸后的。
scale是缩放,缩放不会影响图本身。

虽然都可以达成让你能够将纹理渲染成一个需要的样子。

但区别在于,尺寸正常来说不会影响到子节点,而缩放一定会将子节点进行尺寸上的。
另外,楼上提到的layout,以及没有提到widget组件,都是通过调整尺寸来使得节点满足相关的排版布局方式。

所以没事最好去改尺寸,而不要随便去动scale,除非你确定明白自己在做什么

1赞