- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在某些特定情况下, Actor 被添加到舞台后变成黑色表面,而不是实际纹理。在其他情况下,我可以在开始时加载 Actor ,然后将其设置为不可见,当我需要它时,我可以将其设置为可见。但我不想那样做。
所以这是 render() 的代码:
public void render() {
Gdx.gl.glClearColor(backgroundColour.r, backgroundColour.g, backgroundColour.b,
backgroundColour.a);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
stage.act();
stage.draw();
}
以及我尝试将图像添加到舞台的位置
cardImage.setPosition(x, y);
cardImage.setWidth(ViewConstants.scalingWidthCard * ViewConstants.widthOneSpace);
cardImage.setHeight(ViewConstants.scalingHeightCard * ViewConstants.heightOneSpace);
stage.addActor(cardImage);
其中 cardImage 属于 ImageWrapper
类(ImageWrapper 扩展 Image 并仅包含更多字段,方法未以任何方式被覆盖/更改)。这是我如何加载纹理的代码:
private ImageWrapper loadActorForCardAndSaveInMap(Card card) {
String textureString = loader.getCardTextureName(card);
ImageWrapper textureForCard = loader.getImageForPath("cards/" + textureString + ".png");
// irrelevant for libgdx, but I'll post it, so you see what happens
faceUpCards.put(textureString, textureForCard);
return textureForCard;
}
[...]
private ImageWrapper getImageForPath(String path) {
try {
return new ImageWrapper(new Texture(Gdx.files.internal(path)));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
大多数情况下一切正常,但并非全部。
我还尝试重新加载舞台
Group root = stage.getRoot();
stage.clear();
stage.setRoot(root);
如指定here .但这并不能解决问题。
最佳答案
因此 render()
调用实际上与 GL 上下文同步,将其用作入口点。
1) 在某处定义任务列表 private ArrayList<Runnable> synchronizedTasks = new ArrayList<>();
2) 将渲染循环中的同步调用添加到您的任务中
public void render() {
runSyncTasks();
// other draw code
}
private void runSyncTasks(){
synchronized(synchronizedTasks){
for(Runnable r : synchronizedTasks){
r.run();
}
synchronizedTasks.clear();
}
}
3) 当你想加载你的图像时(例如在用户输入时),提交这样的任务:
synchronized(synchronizedTasks){
synchronizedTasks.add(new Runnable(){
@Override
public void run(){
... loadActorForCardAndSaveInMap(...)
}
});
}
这将添加 Runnable
到列表中,它将在接下来的render()
中执行GL线程的传递。请记住,您需要执行涉及创建的 ImageWrapper
的任何操作。里面的物体 run(){}
方法。
或者实际上,您可以只提交您的 Runnable
通过Gdx.app.postRunnable(new Runnable()...);
没有自定义同步器的东西。 Gdx 调用做完全相同的事情。
关于android - libgdx/安卓 : actor becomes black after added to stage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281446/
我将多阶段Dockerfile与阶段Build和Start一起使用,如下所示:。我想知道,在Start阶段,我是否需要再次执行Copy--from=Build<...。换句话说,是不是开始重用文件系统
我将多阶段Dockerfile与阶段Build和Start一起使用,如下所示:。我想知道,在Start阶段,我是否需要再次执行Copy--from=Build<...。换句话说,是不是开始重用文件系统
我的作业配置如下,我正在尝试对我的 hadoop 作业进行简单的两步链接, public int run(String[] args) throws Exception { Confi
我正在尝试编写一个简单的方法来切换我的窗口是否最小化(即图标化)。我有奇怪的行为。下面是说明问题的可运行代码。 我在 Gnome 3.20.4 和 XFCE 4.12 上得到了相同的结果。我还没有在任
在 ActionScript 3 (as3) 中 调用 stage.width 和 stage.stageWidth 有什么区别 这是我记得我过去很困惑的事情(Adobe 的 api 文档是一种混淆的
我在新的 Java SDK 11 中基于 this 创建了项目示例: EntryPoint.java package com.example; import javafx.stage.Stage; i
两年半前,Adobe宣布FlashPlayer 10将支持色彩校正。不可否认,该实现实际上是最基本的,因为它将始终假定所有内容均为sRGB编码,并将该内容转换为系统上正在使用的当前显示配置文件。 Th
在as3中调用stage.width和stage.stageWidth有什么区别 我在某处读到,如果舞台上什么都没有,那么 stage.width 的值为 0,但是当我在舞台上什么都没有但在舞台上动态
当我暂存至少一个跟踪文件时,以下 block 起作用。但是当我只暂存未跟踪的文件时,repo.RetrieveStatus().Staged.Count 等于零(我希望它会随着暂存文件的数量增加),因
作为两者 node步和stage步骤提供范围{}语法,在 groovy 代码中定义拓扑的最佳实践是什么? 附件A node ("NodeName") { stage ("a stage ins
我尝试关注 these fairly simple instructions for integrating Static Application Security Testing (SAST)进入我
我尝试关注 these fairly simple instructions for integrating Static Application Security Testing (SAST)进入我
我有一个主舞台,想创建多个额外的舞台 (Windows)。这些就像 Photoshop 中控制主舞台的调色板,但我想要具有标题栏、调整大小和能够将它们拖动到多个监视器上的任何位置的功能(Popup 类
我正在尝试将下面代码中的字符串显示到其他类中的 Pane 。 public WebEngine helloWebEngine(Stage stage) { WebView wv = getWe
package { import flash.display.Stage; public class MyGlobal { public static var CX:Number =
根据我的标题,我的 jenkins 设置收到以下错误: Unknown stage section "stage". Starting with version 0.5, steps in a sta
当您在 ASP.NET Core 站点上的 Visual Studio 中单击“添加 Docker 支持”时,这是默认的多阶段 Dockerfile。 FROM microsoft/aspnetcor
我的问题是:babel-preset-stage-0 之间有什么区别? , babel-preset-stage-1 , babel-preset-stage-2和 babel-preset-stag
我最近对有关“新式”JavaScript 的文章中的以下术语感到困惑: ES6 ES7(有时,尽管很少,ES8 和更大版本) ES2015(有时是 ES2016 及更高版本) 第 0 阶段(和第 1
2014-04-04 16:02:31.633 java[44631:1903] Unable to load realm info from SCDynamicStore 14/04/04 16:0
我是一名优秀的程序员,十分优秀!