将box2dLight附加到scene2d.Actor

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将box2dLight附加到scene2d.Actor相关的知识,希望对你有一定的参考价值。

作为我游戏的一部分,我正在舞台上移动一辆车并尝试将大灯放在同一个地方。我正在对CAR进行操作,以便CAR的位置更新将由scene2d.actions.Actions处理。这是我用来设置灯光的代码:

rayHandler.setCombinedMatrix(stage.getCamera().combined);
rayHandler.useCustomViewport(viewport.getScreenX(), viewport.getScreenY(),
                viewport.getScreenWidth(), viewport.getScreenHeight());
coneLight = new ConeLight(rayHandler, 50, Color.YELLOW, 150, 400, 150,0,45);

但问题是,它需要光线定位的位置,现在将车灯的位置放在车内很棘手(或者我错过了全世界都知道的东西),因为汽车可以驶向任何地方方向,有没有办法将光线附加到演员身上?或者我们应该总是计算光的位置

有点像actor.getX() + cosDeg(actor.direction())*length;

例如,见图像enter image description here

答案

获取精灵顶点的位置解决了这个问题

import static com.badlogic.gdx.graphics.g2d.Batch.X2;
import static com.badlogic.gdx.graphics.g2d.Batch.X3;
import static com.badlogic.gdx.graphics.g2d.Batch.Y2;
import static com.badlogic.gdx.graphics.g2d.Batch.Y3;

... #somewhere in render method.
coneLight.setPosition(sprite.getVectors()[X2], sprite.getVectors()[Y2]);

以上是关于将box2dLight附加到scene2d.Actor的主要内容,如果未能解决你的问题,请参考以下文章

Android 将文件附加到 GMAIL - 无法附加空文件

将附加信息(数据)附加到数据框列值

将附加条件附加到查询

将 GestureRecogniser 附加到多个图像视图

php cf-7将附加信息附加到邮件中

Javascript动态地将函数附加到对象