[LayaAir3]使用 Laya.Sprite 的 transform 无法获取正确的Matrix
以下代码挂载在任意 2D Sprite 上
const { regClass, property } = Laya;
@regClass()
export class Main extends Laya.Script {
declare owner: Laya.Sprite;
onStart() {
this.owner.pos(10, 10);
// 以下代码获取的矩阵都是不正确的
console.log(this.owner.transform); // output: {a:1 b:0 c:0 d:1 tx:0 ty:0}
let oner:any=this.owner;
console.log(oner._tfChanged); // output: false
console.log(oner._adjustTransform()); // ouput: {a:1 b:0 c:0 d:1 tx:0 ty:0}
console.log(oner._transform); // output: {a:1 b:0 c:0 d:1 tx:0 ty:0}
// 设置 transform 是正确的
this.owner.transform = new Laya.Matrix(1, 0, 0, 1, 20, 20);
console.log(this.owner.x, this.owner.y); // output: 20, 20
}
}
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
layaAir小孟
赞同来自:
直接使用就可以了。
如果想知道中间的过程,可以结合引擎源码和调试: