lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11316|回复: 1
打印 上一主题 下一主题

子图层增加父图层减少的相对位移处理

[复制链接]

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

楼主
发表于 2019-4-25 16:21:13 |显示全部楼层
在LEvent.ENTER_FRAME里做应该不会吧,是这样吗
  1.                         LInit(1000/60, "legend", 800, 480, main);
  2.                         function main () {
  3.                                 var layer = new LSprite();
  4.                                 addChild(layer);
  5.                 var child = new LSprite();
  6.                                 layer.addChild(child);
  7.                                 child.graphics.drawRect(1, "#ff0000", [0, 0, 100, 100], true, "#880088");
  8.                                 layer.addEventListener(LEvent.ENTER_FRAME,onframe);
  9.                 child.addEventListener(LEvent.ENTER_FRAME,onframeChild);
  10.                         }
  11.                         function onframe(event){
  12.                                 var layer = event.currentTarget;
  13.                                 layer.x += 1;
  14.                         }
  15.                         function onframeChild(event){
  16.                                 var target = event.currentTarget;
  17.                                 target.x -= 1;
  18.                         }
复制代码
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

沙发
发表于 2019-5-10 23:16:24 |显示全部楼层
leauna 发表于 2019-5-10 18:38
我的代码逻辑简单来说,大概是这个意思,子改动完顺便设置父改动,比如移动10次,会出现第一帧突进1最后一 ...

引擎中处理的顺序是,
对象先根据自己本身的坐标进行移动,移动结束之后开始绘制子对象
所以说,在子对象的ENTER_FRAME中设定父对象的坐标时,实际上父对象的坐标的相关处理已经结束,所以只能在下一贞才能有效
而父对象的ENTER_FRAME中设置子对象的坐标是没问题的,但是反过来就会出现上述问题了
你可以按照你的方法解决,也可以像我上面那样,分别给子对象和父对象加事件,或者把针对父对象相关的操作放到父对象的ENTER_FRAME中来做
不回答与技术和引擎不相关的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-6 05:43 , Processed in 0.045050 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部