我想知道是否有办法将主应用程序窗口背景设置为透明,以便在使用openfl构建macOS和Windows时可以看到其后面的所有其他应用程序
我的项目文件如下所示。
<?xml version="1.0" encoding="utf-8"?>
<project>
<meta title="DeskClock" package="com.sample.deskclock" version="1.0.0" company="Company Name" />
<app main="Main" path="Export" file="DeskClock" />
<window hardware="true" allow-shaders="true" require-shaders="true" depth-buffer="false" stencil-buffer="false" />
<window
background="0x00000000"
fullscreen="false"
resizable="false"
borderless="true"
vsync="true"/>
<window always-on-top="true" />
<source path="Source" />
<haxelib name="openfl" />
<assets path="Assets" rename="assets" />
</project>
我的主文件看起来像这样。
答案 0 :(得分:0)
如果您的目标是Air Desktop,可能会出现性能损失,并且不确定您是否可以使用Stage GPU。 我不确定windows cpp的目标。
答案 1 :(得分:0)
你做得很好,最简单的透明度看起来像这样:
<window background="null" color-depth="32" />
默认情况下,OpenFL在OpenGL上使用16位颜色,没有alpha,因此color-depth
对于允许透明背景非常重要。
这适用于HTML5,我在Linux上测试过,我不相信SDL创建的X11窗口是透明的,即使隐藏了边框也是如此。根据平台的不同,可能需要在创建本机窗口方面做更多工作。 macOS或Windows可能适用于上述内容。