标签: slick2d

Slick2D vs Straight LWJGL

我一直在用Slick2D钻研游戏编程,我开始怀疑从长远来看,知道LWJGL会更有帮助.一方面,Slick2D快速而简单,但似乎LWJGL在具有2D和3D功能的意义上更具适应性.对于那些处于java中间位并且想要制作游戏的人来说,是否值得花费额外的努力来立即学习LWJGL?

java lwjgl slick2d

31
推荐指数
1
解决办法
2万
查看次数

Slick2D和JBox2D.如何绘制

在问这个之前我做了很多网上搜索.我不能这样做.这对我来说有点难以理解.那么我如何在与世界位置的身体相对应的右侧屏幕位置绘制图像?感谢名单.

如果有人在同一个障碍面前找到了他,我会发布一个HOW TO,而不是正常速度的好解释.你可以在这里找到它:http://romeo.akademx.ro/2012/04/06/slick-and-box2d/

这是渲染功能:

public void render(GameContainer container, StateBasedGame game, Graphics g)
        throws SlickException {
    g.setBackground(Color.white);

    g.pushTransform();
    g.translate(worldToScreen(body.getPosition()).x, worldToScreen(body.getPosition()).y);
    g.rotate(15, 15, (float) Math.toDegrees(body.getAngle()));
    part.draw();
    g.popTransform();

    g.drawString("Count: " + cont, 5, 40);
    //world.drawDebugData();
}
Run Code Online (Sandbox Code Playgroud)

这些是我用来转换世界屏幕协调的功能:

public Vec2 screenToWorld(Vec2 screenV) {
    return new Vec2((screenV.x - offset.x) / scaleFactor, yFlip
            * (screenV.y - offset.y) / scaleFactor);
}

public Vec2 worldToScreen(Vec2 worldV) {
    return new Vec2(worldV.x * scaleFactor + offset.x, yFlip * worldV.y
            * scaleFactor + offset.y);
}
Run Code Online (Sandbox Code Playgroud)

我也碰巧使用此链接中的SlickDebugDraw:http://slick.javaunlimited.net/viewtopic.php?f …

java physics-engine jbox2d slick2d

14
推荐指数
1
解决办法
1万
查看次数

在当前线程中找不到OpenGL上下文,如何修复此错误?

我正在开发纸牌游戏,目前有一个很好的基础,但是当我在eclipse中运行它时遇到了一个错误.我也使用光滑的2d.

这是控制台的错误.

线程"main"中的异常java.lang.RuntimeException:当前线程中找不到OpenGL上下文.在在org.lwjgl.opengl.GL11.glGetError(GL11.java:1277)在org.newdawn.slick.opengl.renderer.ImmediateModeOGLRenderer.glGetError(ImmediateModeOGLRenderer org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)的.java:387)在org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:337)在org.newdawn.slick.opengl.InternalTextureLoader.getTexture(InternalTextureLoader.java:275)在org.newdawn.slick.图像.(Image.java:270)在org.newdawn.slick.Image.(Image.java:244)在org.newdawn.slick.Image.(Image.java:232)在org.newdawn.slick.Image. (Image.java:198)在Cards.Card.(Card.java:18)

代码我相信发生错误的来源(卡类)

package Cards;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
public class Card
{
    final int numCards = 52;
    Image[] card = new Image [numCards];
    Card (int c)
    {
        String fileLocation = new String ();
        for (int i = 1 ; i <= 52 ; i++)
        {
            fileLocation = "res/cards/" + i + ".png";
            try 
            {

                card [i] = new Image (fileLocation); //line
            }
            catch (SlickException e)
            {
                e.printStackTrace ();
            }
        }
    }
    public Image getImage (int cardlocation) …
Run Code Online (Sandbox Code Playgroud)

java opengl lwjgl slick2d

10
推荐指数
2
解决办法
4万
查看次数

使用Java + Scala + Slick2D时"无法从给定的启动配置中找到主要方法"

我有一个项目,我正在使用Java + Scala + Slick2D.

从日食开始,项目本身运行良好.但是当我尝试制作一个jar文件时,它只是拒绝工作.这是我在尝试将其导出为Runnable jar时遇到的错误:

在此输入图像描述

如果我尝试导出只是一个Jar文件,它将无法找到主类:

在此输入图像描述

当然,游戏中有一个主要类.TicTacGame.但它拒绝承认它.我尝试用简单的Hello World项目创建一个可执行文件,它运行正常.它甚至可以检测到主类.为什么Eclipse在这种情况下没有检测到主类?

PS:我还尝试提取创建的.jar文件,编辑manifest.mf文件以添加Main-Class:game.TicTacGame,输入两个新行并重新创建jar.然后它给了我一个损坏的jar文件错误.

我在我的智慧结束,并希望在这方面有任何帮助.我正在使用带有Eclipse Juno,Java 1.7和Scala 2.10的Windows 7 x64

编辑:Main类是Java

java scala executable-jar slick2d eclipse-juno

9
推荐指数
2
解决办法
3万
查看次数

Maven 程序集插件在 jenkins 中重新下载依赖项

由于某种原因,每次我尝试使用 Jenkins 构建项目时,maven 似乎都在尝试下载项目的依赖项。有一些问题。第一个是它根本不应该这样做,另一个问题是它甚至没有尝试从正确的存储库下载它们,这意味着它必须等待它们中的每一个都超时。

我可以自己运行 mvn clean package,它会在大约 4 秒内构建它,因为所有依赖项都在我的本地 .m2 存储库中。Jenkins 安装在本地并共享此 Maven 存储库,所以我不知道为什么它的行为不同。看来 jenkins 正在发出带有 -B 和 -f 标志的 maven 命令,并使用 install 而不是 package,但即使我自己这样做,它也会在几秒钟内完成,而 Jenkins 由于所有超时而需要大约 8 分钟它必须等待。

我标记了 Slick2d 和 lwjgl 库,因为我认为这与它们有关,因为它们不在公共 Maven 存储库中,而且我必须手动将它们的存储库添加到 pom 中。

还值得注意的是,构建完成并成功,唯一的区别是 Jenkins 花费了 8 分钟的超时时间,而我自己则在几秒钟内完成了超时。

另外,当我最初试图弄清楚这一点时,当我尝试手动执行此操作时也会发生这种情况。在我添加 Maven Natives 存储库后,它停止执行此操作,但我不知道为什么 Jenkins 仍在花时间,因为它们共享相同的本地存储库并且

更新:在尝试找出发生了什么之后,我似乎已经将其范围缩小到与 Maven 程序集插件相关,因为如果我从我的 pom 中取出该部分,它就可以正常工作。

这是我的 pom 文件的相关部分:

<repositories>
    <repository>
        <id>slick</id>
        <name>slick</name>
        <url>http://slick.cokeandcode.com/mavenrepo</url>
    </repository>
    <repository>
        <id>mavenNatives</id>
        <name>Maven Natives Repository</name>
        <url>http://mavennatives.googlecode.com/svn/repo</url>
    </repository>
    <repository>
        <id>nolat.org</id>
        <name>Nolat</name>
        <url>https://raw.github.com/Talon876/repo/master/releases</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>junit</groupId> …
Run Code Online (Sandbox Code Playgroud)

java lwjgl maven jenkins slick2d

6
推荐指数
1
解决办法
4525
查看次数

Java Slick scale没有抗锯齿的图像

在Slick库(基于LWJGL)中,您可以在加载图像后缩放图像getScaledCopy,但它将应用消除锯齿.我希望边缘保持粗糙; 我正在制作像素艺术品.我怎样才能做到这一点?

java antialiasing slick2d

6
推荐指数
1
解决办法
3159
查看次数

线程"main"中的异常java.lang.UnsatisfiedLinkError:java.library.path中没有lwjgl

我正在构建这里解释的基本Slick游戏示例:http://slick.cokeandcode.com/wiki/doku.php?id = 01_-_ a_basic_slick_game,我遇到了一些问题.具体来说,游戏编译得很好,但是当我尝试运行它时,Java会抱怨:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at org.lwjgl.Sys$1.run(Sys.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:68)
    at org.lwjgl.Sys.loadLibrary(Sys.java:84)
    at org.lwjgl.Sys.<clinit>(Sys.java:101)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:128)
    at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)
    at SlickBasicGame.main(SlickBasicGame.java:79)
Run Code Online (Sandbox Code Playgroud)

这是我的源代码:

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;

public class SlickBasicGame extends BasicGame{

    Image plane = null;
    Image land = null;
    float x = 400;
    float y = 300; …
Run Code Online (Sandbox Code Playgroud)

java linux javac slick2d

6
推荐指数
1
解决办法
1万
查看次数

如何从eclipse程序构建Mac OS X .app

我的程序在Eclipse中运行良好.但是,如果我尝试将其导出为可运行的jar,则双击时jar不会打开.在Eclipse中,有没有办法直接导出到.app?

java eclipse macos slick2d

6
推荐指数
2
解决办法
8486
查看次数

LibGDX从base64 PNG ByteArrayInputStream创建纹理

我刚决定将Slick2D更改为LibGDX.但是,为了能够将我的游戏移植到LibGDX,我需要帮助了解如何从我的游戏数据文件中创建LibGDX中的纹理.

我的游戏数据文件是加密的,图像是用base64编码的,所以我可以将它们全部保存在一个txt文件中.如何从ByteArrayInputStream创建LibGDX纹理.

在Slick2D中,我将base64字符串转换为bufferedimage.但我不想为LibGDX这样做,因为我可能希望很快就能在Android上获得它.

编辑:我只是想通了,有点儿.我是这样做的:

   Texture bucket;
    String base64 = "base64 string too long to paste"
    byte[] decodedBytes = Base64Coder.decode(base64);
    bucket = new Texture(new Pixmap(decodedBytes, 0, decodedBytes.length));
Run Code Online (Sandbox Code Playgroud)

但是,现在图像垂直翻转......我错过了什么吗?

android textures bytearrayinputstream libgdx slick2d

6
推荐指数
1
解决办法
1540
查看次数

当我的Java应用程序在Ubuntu中运行时,如何防止Alt键打开Dash Home?

我正在学习Slick2D,它完全符合我的2D Java游戏编程目的.不幸的是,我有一个问题.我不认为它是特定的Slick2D,因为我认为Java Graphics 2D也是如此.

在Ubuntu中(我使用的是Ubuntu 12.04),按Alt键显示"Dash Home",与点击屏幕左上角的图标相同(Windows用户,"Dash Home"是一种"开始"菜单).

当我的应用程序运行时,Alt键仍然有此行为并显示Dash Home.当我的游戏以窗口模式运行时,这不是什么大问题,因为我可以进入暂停状态.然而,当处于全屏模式时,这是一个大问题,因为系统离开全屏并且在全屏和窗口之间切换是耗时的并且粗略地说是丑陋的.

所以,问题是:如何阻止Alt键进入操作系统,防止Dash Home打开?在我的代码中,我通过Game2D提供的监听器处理keyPresses,并且我不调用任何超类方法,因此,通常不应将按键通知给操作系统.但它是.

我没有附加任何代码,因为我认为这与Slick2D无关,而是一般的Java问题.任何的想法?

谢谢!

编辑:问题仍然存在.我已经发布了项目的整个源代码和二进制文件在这里.如果它没有帮助找到解决方案,它可以作为一个关于Java游戏编程的基本教程给其他人.

java fullscreen slick2d

6
推荐指数
1
解决办法
399
查看次数