javafx - 使用灯光效果和透视相机时窗格被切断
问题描述
我遇到了 javaFX 灯光效果的另一个问题。在 2D 世界中使用透视相机跟随玩家时,一切正常,直到我添加灯光效果!
青色代表背景。当灯光效果打开时,关卡窗格不会在场景边缘渲染,而是可以看到背景。这使我的关卡的底部和右侧不可见,因此无法播放。在全屏模式下更糟糕!
这是我的演示代码:
import javafx.application.Application;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.effect.Light;
import javafx.scene.effect.Lighting;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class dd extends Application {
PerspectiveCamera cam = new PerspectiveCamera(false);
public void start(Stage alku) throws Exception {
Pane testpane = new Pane();
Rectangle background = new Rectangle(500, 500);
background.setFill(Color.CYAN);
Rectangle rec = new Rectangle(500, 300);
Lighting lig = new Lighting();
Light.Point l = new Light.Point();
l.setX(200);
l.setY(150);
l.setZ(20);
l.setColor(Color.WHITE);
lig.setLight(l);
rec.setFill(Color.RED);
testpane.getChildren().addAll(background, rec);
Scene scene = new Scene(testpane, 300, 300);
cam.setTranslateX(30);
cam.setTranslateY(30);
alku.setTitle("TEST");
alku.setScene(scene);
rec.setEffect(lig);
scene.setCamera(cam);
alku.show();
}
public static void main(String[] args) {
launch(args);
}
}
如果您移除相机或灯光,“rec”会再次正常渲染。只需调整窗口大小以更好地查看问题。所以我的主要问题是:这是一个错误吗?如果不是,如何在不牺牲灯光和相机的情况下解决这个渲染问题?
解决方案
推荐阅读
- compilation - 在 Garfield++ (Linux) 上运行示例 Gem
- html - 文本区域中的 URL 解析不正确
- javascript - reactjs我如何在firebase上读取数组中的地图
- salesforce - Talend 与 salesforce 的连接很慢
- android - 如何交换授权代码以从 Android 获取访问代码和刷新令牌?
- .net - Azure Blob 存储 SDK v12 - BlobClient DownloadAsync 消失了吗?
- reactjs - 如何修复错误--->“DeepMap”类型上不存在属性“名称”
- python - 测试用例的并行执行不适用于 pytest-html-reporter 报告
- google-fit - 使用多个传感器时,Google Fit REST API 步骤结果与应用编号不匹配
- pandas - 尝试使用 excel pandas 读取数据...并在多个文件中出现一致的错误