[]为什么获取不到getBounds()的width,height

为什么我的playAction中获取不到动画的显示区域,用控制台输出都是0
还有this.body.pos(-bound.width / 2, -bound.height / 2);是动画里面的
feiji.pos(Laya.stage.mouseX, Laya.stage.mouseY);是鼠标监听事件
2个都是设置this.body的位置呢。先运行谁,还有 
//设置机身的锚点为机身的显示宽高的中心点。
this.body.pos(-bound.width / 2, -bound.height / 2);
这是官方教程里面的提示说明。pos是设置坐标位置的,为什么提示机身的描点,pivot()函数才是设置描点的。有点晕
已邀请:

cuixueying

赞同来自:

你好
第一个问题:如何获取animation的getBounds值?
解答:之所以没有获取到animation的getBounds是由于动画还没加载完成,就开始获取了,可以通过加一个延迟函数进行处理抑或添加一个Event.COMPLETE函数。
参考如下:
222.png


第二个问题:this.body和this.hero的区别
this.body是Role类下的animation实例:是个Animation
this.hero是Role类的实例:是个Sprite(因为Role继承自Sprite)

第三个问题: 为什么Role类下设置body.pos为机身瞄点
因为body是位于Role下的实例,Role类继承自Sprite,所以它的坐标是相对于Role类(也可以说是相对于父类Sprite的),在主类里对Role进行实例添加,那么Role类下的显示对象body的坐标已经相对于父容器发生了改变。也就相当于瞄点放生了变化。

 

要回复问题请先

商务合作
商务合作