问题标签 [slick2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
154 浏览

java - Java 数组 - 不断收到 NullPointerExcpetion

所以我正在尝试制作一个可以生成 20 个敌人的游戏。敌人应该被加载到一系列敌人中,然后游戏打算在 for 循环中将它们绘制出来,唯一的问题是NullPointerException当我尝试运行 for 循环时我不断得到一个。

下面代码中的行:

是抛出异常的那个。我也在下面列出了完整的来源,这样你就可以看到我正在尝试做什么,我只是卡住了,我需要一些帮助,有没有其他方法可以创建敌人并将它们放置在屏幕上?

主类:

敌人等级:

敌人等级非常简单。我不明白为什么它会变成 a NullPointerException,但也许其他人可以发现它。

我究竟做错了什么?

0 投票
1 回答
864 浏览

java - 无法让精灵正确旋转?

我正在尝试使用 Java/Slick 2D 玩图形。我试图让我的精灵旋转到鼠标在屏幕上的任何位置,然后相应地移动。我认为最好的方法是跟踪精灵所处的角度,因为我必须将角度的余弦/正弦乘以移动速度才能让精灵“向前”走,即使它是,例如在象限 3中面向45 度

但是,在我担心这一点之前,我什至一开始就无法让我的精灵旋转。初步的控制台测试表明该代码有效,但是当应用于精灵时,它只是有点抽搐。有谁知道怎么了?

0 投票
2 回答
1764 浏览

java - 为什么我的图像旋转偏离中心?

我正在使用 Java/Slick 2D 来玩图形并使用鼠标来旋转图像。但是发生了一些奇怪的事情:图像不一定面向鼠标。它与法线呈 45 度角,但距离越远,距离越远。见下图(白色圆圈为鼠标,文字为角度): 80 度的图像 45 度角的图像

这是我使用的轮换代码:

有什么想法吗?我假设它与图像坐标来自左上角的事实有关,但我不知道如何反驳它。仅供参考:屏幕 640x460,图像 128x128 并在窗口中居中。

编辑:不幸的是,那里没有真正起作用。这是一张包含更多信息的图片:

35 度箭头

EDIT2:找到了答案!不得不改变: int px/py = sprite.x/y 到

0 投票
1 回答
2561 浏览

java - 如何将直接访问的资源打包成jar文件

我最近在 Slick2D 中开发了一个游戏,我直接访问了我的所有图像,例如

而不是使用将加载资源的类或使用输入流。

我想知道是否仍然可以将所有资源加载到 jar 中,我将/res文件夹添加到我的 buildpath 并使用 jarsplice 添加我的库和本机但是 jar 将无法运行,因为它找不到图像。

0 投票
1 回答
384 浏览

java - 如何制作可与 Slick2D 一起使用的资源加载器

所以我用 slick 制作了一个 2D 游戏,但是我做过的唯一资源加载器是纯 java 的,它是这样的:

当然,Slick 有一个不同的图像类型 (org.newdawn.slick.Image),这个资源加载器类将无法工作,所以我不知道当我导出我的项目时如何加载资源。我在网上搜索过,但没有找到很多详细的结果,所以我问有没有办法加载资源,所以当我将项目导出为可运行的 jar 文件时,它仍然会加载它们。

提前感谢您提供任何有用的答案 - 乔希

0 投票
2 回答
430 浏览

java - 多矩形生成

可能重复:
绘制多个像素/矩形

在我的代码中,我编写了一个在 mouseX、mouseY 处创建矩形的方法。但它所做的只是更新该矩形的位置,使其跟随鼠标,我希望它在每次运行该方法时在鼠标上创建一个新矩形,有人可以帮忙吗?

这是我的方法

主类Control调用drawParticle方法;

谢谢 - 沙姆斯

0 投票
1 回答
179 浏览

java - 停止图像移动

好的,所以每当我单击鼠标时,我的图像都会沿着 y 轴直接向下移动,我唯一的问题是我不知道如何让它在它到达屏幕底部时停止,有人可以帮忙吗?

0 投票
2 回答
72 浏览

java - 引用索引数组

可能重复:
检查索引数组

所以我有我的代码,每次按下鼠标时,它都会在 mouseX 和 mouseY 处绘制一个新粒子并将位置存储在一个数组中,以便它可以更新直到它到达屏幕底部时被告知停止。我想做的是检查当前位置与已经“制造”的粒子的位置,如果它具有相同的坐标,则让它更快停止,以产生堆叠效果,有人可以帮我吗?

0 投票
2 回答
583 浏览

java - How do I check an array against itself in java

I am trying to create a basic falling sand game in java, I have each particle store it's X and Y in a Point array. Each Point array is specific to it's element, so sand and water are two different arrays, what i would like to know is how do i check my sand array against itself to see if two particles have the same position, and if so, move them?

This is my Sand Class

And this is a simplified version of my main class

}

0 投票
1 回答
391 浏览

java - Slick2D 使用 GameContainer.setDisplayMode(GameContainer.getScreenWidth(), GameContainer.getScreenHight(), true) 定位图像的最简单方法;

我正在用 slick2D 制作游戏,我希望游戏根据正在使用的屏幕调整分辨率,所以当我初始化我的 AppGameContainer 时,我将其称为如下所示

所以我的问题是,当使用这种方法时,我是否必须使用 appgc.getScreenWidth() 和 appgc.getScreenWidth() 绘制对象并进行碰撞检测,例如,如果我想在屏幕中间绘制一个正方形,我必须这样做吗?是这样吗?

还是有一些更简单的方法可以解决这个问题,因为这可能会在以后与碰撞混淆,而不是仅仅 X 和 Y 轴?

提前感谢您提供任何有用的答案。