小编Ram*_*ama的帖子

如何从Java中的静态方法调用getClass()?

我有一个必须有一些静态方法的类.在这些静态方法中,我需要调用方法getClass()来进行以下调用:

public static void startMusic() {
  URL songPath = getClass().getClassLoader().getResource("background.midi");
}
Run Code Online (Sandbox Code Playgroud)

然而Eclipse告诉我:

Cannot make a static reference to the non-static method getClass() 
from the type Object
Run Code Online (Sandbox Code Playgroud)

修复此编译时错误的适当方法是什么?

java static-methods

334
推荐指数
7
解决办法
19万
查看次数

Eclipse的工作区:我应该将我的图像放在'src'或'bin'文件夹中吗?

我正在使用Java进行项目,有时我的所有图像都随机地从项目的bin文件夹中消失.它变得非常烦人,因为每次发生时我都必须再次放置所有东西.有人告诉我,我不应该把我的额外文件放在bin中,而是放在src中.但是如果我将它们放在src中,eclipse就不会读取我的图像,好像它们不存在一样.为什么会这样?谢谢.

java eclipse workspace file

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

如何使用数组协调基于2D平铺的游戏中的图形和逻辑位置?

我正在用像Bomberman(我的第一个游戏)编写一个基于Java平铺的Java游戏.

我使用2D数组来表示我跟踪墙壁,步行空间等的地图.到现在为止,我能够让玩家根据他按下的方向键(但不与背景/地图交互)平滑地交换精灵,它可以随机走动并走出屏幕).

当我想跟踪玩家在阵列中的位置时,我的问题出现了.从逻辑上讲,角色总是只属于一个瓷砖,但在图形上它可以在两个瓷砖之间.我该如何解决这个问题?

我已经尝试过了:

currentTileArrayX = x/tileWidth;

currentTileArrayY = y/tileHeight;

其中x和y是精灵的左上角坐标.但是一切都变得非常多,因为玩家的精灵与瓷砖的尺寸不同.

我有另一个选项可以解决上一个问题:当玩家按下一个方向键时,将该角色移动到下一个方块,就像动画一样.这不会让玩家停在两块瓷砖的中间......但是如果他用另一台按键打断它呢?如何在动画执行时停止用户的操作?我认为这是最简单的解决方案,但我不知道如何实现它.

我已经尝试在其他问题中找到解决方案,但我没有运气.我希望你能帮助我.

非常感谢.

java 2d sprite multidimensional-array

5
推荐指数
1
解决办法
2614
查看次数

2D游戏中有效的碰撞算法?

我正在按照教程编写一个用Java 编写的炸弹人(这是我的第一个游戏).本教程建议使用以下代码检测冲突.

        for (int p=0; p<entities.size(); p++) {
            for (int s=p+1; s<entities.size(); s++) {
                Entity me = (Entity) entities.get(p);
                Entity him = (Entity) entities.get(s);

                if (me.collidesWith(him)) {
                    me.collidedWith(him);
                    him.collidedWith(me);
                }
            }
Run Code Online (Sandbox Code Playgroud)

到目前为止,实体是一个包含敌人和玩家的数组列表.因为我还想检测玩家与墙壁发生碰撞,我是否应该将每个墙壁或砖块放入实体arraylist中?如果是这样,这个算法效率不高吗?这些瓷砖不会与其他瓷砖碰撞,所以我想在不同的列表中管理游戏实体.你有什么建议?有没有更有效的算法呢?

注意:我已经阅读了与2D游戏中的碰撞有关的其他问题.非常感谢.

java 2d collision-detection memory-efficient

4
推荐指数
1
解决办法
6418
查看次数

如何在Eiffel的声明中初始化局部变量?

我试着这样做:

local
    condition: BOOLEAN
    condition := true
do
Run Code Online (Sandbox Code Playgroud)

这样的事情:

local
    condition: BOOLEAN := true
do
Run Code Online (Sandbox Code Playgroud)

显然既不起作用,但我需要在声明中初始化变量,因为如果执行重试指令,我不希望变量重新初始化.我查看了Eiffel的官方文档和教程,但它们始终将操作体中的变量初始化.

variables eiffel

4
推荐指数
1
解决办法
1425
查看次数

如何在Java中正确处理定时器?

我希望我的计时器在5秒的时间内只执行一次actionPerformed方法,但它在控制台"Hello"中写了很多次:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Timer;

public class X{
    public static void main(String args[]) {

        ActionListener actionListener = new ActionListener() {
            public void actionPerformed(ActionEvent actionEvent) {
                System.out.println( "Hello" );
            }
        };
        Timer timer = new Timer( 5000, actionListener );
        timer.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能达到我想要的效果?谢谢

java swing timer actionlistener

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

如何在汇编程序中打开文件并进行修改?

我开始学习汇编程序,我在Unix工作.我想打开一个文件并在上面写上"Hello world".

section.data

textoutput db 'Hello world!', 10
lentext equ $ - textoutput
filetoopen db 'hi.txt'

section .text
global _start

_start:

mov eax, 5            ;open
mov ebx, filetoopen
mov ecx, 2            ;read and write mode
int 80h

mov eax, 4
mov ebx, filetoopen   ;I'm not sure what do i have to put here, what is the "file descriptor"?
mov ecx, textoutput
mov edx, lentext

mov eax, 1
mov ebx, 0
int 80h              ; finish without errors
Run Code Online (Sandbox Code Playgroud)

但是当我编译它时,它什么也没做.我究竟做错了什么?当我打开一个文件描述符值返回的文件?

linux x86 assembly nasm

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

2D平台游戏的适当级别表示/数据结构?

我即将用Java编写Mario的副本.我正在考虑关于级别的2个表示/数据结构,但我不确定应该选择哪一个:

  • 一个2D整数数组.
  • 用于分割碎片的四叉树.

它的优点和缺点是什么?

java 2d data-structures

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

Java是否具有支持并发修改的数据结构?

我正在用Java制作游戏.游戏中的每个敌人都是一个线程,他们不断循环游戏的数据结构(我总是使用Vector类).

最近我得到了"ConcurrentModificationException",因为当一个Thread循环遍历Vector时,正在向Vector添加/删除元素.我知道有一些策略可以避免添加/删除问题(我实际上使用了一些来避免删除问题,但我仍然遇到"添加"问题).

我听说java支持一个避免ConcurrentModificationException的Vector/List.

你知道这个结构可能是什么吗?谢谢.

java multithreading concurrentmodification data-structures

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

如何跟踪C中的内存使用情况?

我必须用 C 语言做一个项目,我必须不断地为大数据结构分配内存,然后释放它。是否存在一个带有有助于跟踪内存使用情况的函数的库,以便我可以确定我是否正确地做事?(我是 C 新手)

例如,一个函数返回:A) 程序当前使用的内存总量,或 B) 剩余的内存总量,可以完成这项工作。我已经用谷歌搜索并搜索了其他答案。

谢谢!

c memory-management

0
推荐指数
1
解决办法
5023
查看次数