Transform
Transform 是一个默认组件,每个 GameObject 默认创建 Transform 组件实例,用来控制游戏对象的尺寸、位置、缩放、斜切、旋转等属性。
使用
// 第二个参数为 Transform 组件的参数const gameObject = new GameObject(‘empty’, {size: { width: 100, height: 100 }, // 尺寸position: { x: 0, y: 0 }, // 位移origin: { x: 0, y: 0 }, // 物体原点(物体内部的一个点)anchor: { x: 0, y: 0 }, // 锚点,相对于父级的宽高的比率的一个点,物体的原点会相对于这个点进行位移scale: { x: 1, y: 1 }, // 缩放比例skew: { x: 0, y: 0 }, // 斜切弧度rotation: 0 // 旋转弧度})
因为 transform 对象非常常用,我们可以通过 gameObject.transform 拿到该组件,例如修改游戏对象宽高
gameObject.transform.size.width = 200gameObject.transform.size.height = 200
origin 和 anchor 能够帮我们解决常见的定位问题,比如游戏的操作键,在各种屏幕尺寸下距离右下角一定百分比的距离。可以看一下这个Demo,绿色的点是 origin 和 anchor 的定位点。
,
const outter = new GameObject(‘out’, {size: {width: 750,height: 1000}})const inner = new GameObject(‘inner’, {size: {width: 100,height: 100},anchor: {// 设置锚点为父元素宽高的0.8的位置x: 0.8,y: 0.8},origin: {// 设置原点为右下角,这样物体的右下角就会对齐父元素的(0.8,0.8)的位置了x: 1,y: 1}})
