libGDX坐标系

我正在尝试在libGDX中正确配置我的Camera和Sprite ,以便在2D坐标系中正确显示左下角的原点。 我像这样设置我的Camera : cameraWidth = Gdx.graphics.getWidth(); cameraHeight = Gdx.graphics.getHeight(); camera = new OrthographicCamera(1, cameraHeight/cameraWidth); 我设置我的Sprite是这样的: sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2); sprite.setScale(scale); sprite.setPosition(startX,startY); 我的问题是sprite.setSize(x,y) 。 如果我将所有精灵设置为(1, texture aspect ratio)的大小,那么所有内容都以正确的显示比例(不是拉伸或拉伸)绘制,但没有任何东西绘制在正确的位置。 例如,如果我在(0,0)处绘制一些东西,它将以其左下角从屏幕左侧绘制并向上绘制多个像素。 我已经注意到通过改变比率我可以在不同的地方绘制东西 – 即如果我将其设置为(1, display aspect ratio)事情看起来非常接近于在正确的地方绘制 – 他们只是从他们的中心画出,而不是他们的左下角,正如LibGDX指定的那样。 唯一的问题是图像都显得微笑或拉伸,这是不好的。 这似乎是一个简单的问题,我只是想知道如何设置它,所以我可以有一个合理的坐标系统,在正确的位置和正确的纵横比绘制东西。 谢谢。

使用java从sql server存储过程中检索返回的值

这是我的商店程序,它返回一个值。 我需要调用此过程并将该返回值放入我的java程序中。 CREATE PROCEDURE my_procedure @advisor de , @adv_xml xml AS begin declare @psrg_idi idi, @adv_cd cd, @CurrDate cdt set @adv_cd = (select adv_cd from dbo.ADVICE_LK where upper(rtrim(adv_de)) = upper(@advisor)) set @psrg_idi = 0 set @CurrDate = getdate() BEGIN TRY exec my_proc_2 @CurrDate,@psrg_idi output insert into ADVICE (psrg_idi, adv_cd, psra_original_xml) values (@psrg_idi, @adv_cd, @adv_xml) select […]

使用Java Logging API记录Oracle Java存储过程(java.util.logging)

我在Oracle(10g)中开发了一个新的Java(1.4)存储过程。 我以前从未这样做过,我通常会将Java和DB分开,但这是必需的。 所以我开发了一个可以部署在Tomcat中的Java代码以及Oracle中的存储过程。 为此,我使用了Java Logging API。 我可以在Oracle中执行存储过程,但是找不到日志。 我想知道我应该怎么做才能打印日志,它可以是Oracle日志或trc文件,甚至,如果可能的话,配置它以将日志打印到另一个特定文件夹。 有谁知道如何实现这一目标?

在OneToMany注释列表中重复

我正在使用JPA 2 + Hibernate 4.2.6开发一个Java项目,我得到了一个奇怪的行为。 在我的模型中,我有两个相关的参与者: Question和Answer @Entity public class Question { // … @OneToMany(mappedBy = “question”, cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set answers; // … } @Entity public class Answer { // … @ManyToOne(optional = false) @JoinColumn(name = “question_id”, nullable = false) private Question question; // … } 这很有效:所有与某个Question相关的Answer都正确加载。 但现在我需要将answers收集器的Set从Set更改为List 。 我改变了类型并再次运行应用程序,现在我得到了几个重复的answers […]

可以在IIS上托管Java EE Web应用程序

我们可以在Windows XP上的IIS 5.1服务器上托管Java EE Web应用程序吗?

如何为每个记录生成唯一ID

我有一个包含MM +记录的庞大数据集,我正在尝试为每条记录分配唯一的ID。 我试过下面的代码但是由于行id是顺序的,所以需要很多时间。 我试过调整内存参数来优化作业,无法获得太多性能。 示例代码段: JavaRDD rawRdd=…… rawRdd.zipWithIndex() .mapToPair(t->new Tuple2(t._2,t._1)) 有没有更好的方法来分配唯一ID? 谢谢

Hibernate与HSQLDB的连接

我在设置第一个Hibernate项目时遇到了问题。 我按照教程操作并在启动代码时卡住了。 当我开始与HSQLDB建立连接时,我认为程序会卡住。 它不提供任何错误消息。 控制台中的详细输出如下: 172 [main] INFO org.hibernate.annotations.common.Version – Hibernate Commons Annotations 3.2.0.Final 172 [main] INFO org.hibernate.cfg.Environment – Hibernate 3.6.10.Final 172 [main] INFO org.hibernate.cfg.Environment – hibernate.properties not found 187 [main] INFO org.hibernate.cfg.Environment – Bytecode provider name : javassist 187 [main] INFO org.hibernate.cfg.Environment – using JDK 1.4 java.sql.Timestamp handling 265 [main] INFO org.hibernate.cfg.Configuration – configuring […]

在thread.start之前发生的所有事情都可以生成调用start的线程吗?

现在已经有很好的答案已经在stackoverflow上,但他们没有给我我想要的明确答案。 假设你有一个方法 Dosomething(); doAnother(); int x = 5; Runnable r = new Runnable(){ public void run(){ int y = x; x = 7; System.out.println(z);} } new Thread(r).start() 现在同时这个方法正在运行,在调用thread.start之前,一些全局非易失性变量z从4变为5。 由于z发生在thread.start之前,程序是否会保证打印5? 另外,如果我们以这种方式讨论它,那么可以肯定地说thread.start()永远不会被重新排序。 根据被调用的那个线程的意义开始,就好像到那一点的一切都是顺序的。 比如说我们有 int k = 8; new Thread(() -> {}).start() 现在……在该线程的视角中,无论是首先调用start还是分配k,都不会产生影响。所以这可以重新排序,但是因为在保证之前发生了,这是不可能的? java规范没有说明这一点的强烈声明。 相反它说 当一个语句调用Thread.start()时,每个语句都与该语句有一个before-before关系 然而,k = 8并不是在与该陈述的关系之前发生的…… 我甚至不确定他们的意思是在与start方法的关系之前发生了什么事情,除非您使用相同的监视器锁定 synchronized(this){ int k = 8;} synchronized(this) { […]

java.sql.SQLException:超出锁定等待超时; 尝试在MYSQL中重启事务exception

我在MYSQL中使用表名“test”,它在事务T1期间锁定,将在20分钟内完成。 当我在这20分钟内通过另一个事务T2更新此表时。 我得到一个例外: – 11:58:38,584 ERROR [STDERR] java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928) 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571) 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1124) 11:58:38,584 ERROR [STDERR] at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:676) 请给我一个解决方案,如何在不得到此exception的情况下执行此事务T2? 在mysql数据库中更新innodb_lock_wait_timeout的值是否正确以解决此exception。 我期待着为这个问题找到任何有用的解决方案。

让java IAIK PKCS11包装器适用于nfast

我想让IAIK PKCS11包装器与nfast一起工作。 它总是期待pkcs11wrapper库文件并抛出错误 – java.lang.UnsatisfiedLinkError:pkcs11wrapper(在java.library.path中找不到) 如何使用HSM提供的库文件( /opt/nfast/toolkits/pkcs11/libcknfast.so )? 任何帮助都非常感谢和遗忘!