相关疑难解决方法(0)

摇摆简单叠加

我正在制作一个2D游戏,其中玩家在迷宫中漫游。 GUI的屏幕截图

我想实现某种“黑暗度”,甚至像被黑色包围的玩家周围的透明形状一样简单,例如: 模拟屏幕截图

我发现使用Swing的问题是,尽管这是可能的,但它意味着必须重新绘制所有内容,这会在每次发生时产生令人讨厌的“闪烁”效果。有没有一种方法可以进行某种形式的叠加,或者只是在Swing中进行叠加的一种好方法?我现在对GUI /可视化工具还没有足够的经验,所以如果可能的话,我想坚持使用Swing。

编辑:这是我的方法来绘制背景,即地板,墙壁和出口:

    public final void paintBG(Graphics g){
    g.setColor(Color.LIGHT_GRAY); // Screen background
    g.fillRect(0, 0, getWidth(), getHeight());
    // Draw the Walls of the maze
    // scalex and y are for scaling images/walls within the maze since I let users specify how big they want the maze
    for (int j = 0; j < this.height; j++, y += scaley) {
        x = 20;
        for (int i = 0; i < this.width; i++, x += scalex) {
            if (!(maze[j][i].northwall.isBroken())) // If …
Run Code Online (Sandbox Code Playgroud)

java graphics swing

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

我该如何渲染2D手电筒效果?

我想在我的2D游戏中制作手电筒效果.我的手电筒表示为从特定角度的实体延伸的线段.手电筒可以指向任何方向.手电筒的强度也不同(手电筒光束的长度).

我有一个问题,试图找出最好的(最简单?)和最灵活的方式来渲染手电筒效果.特别是平铺地图.

我可以想到两种方法.但我不知道实现它们:

  1. 仅绘制平铺地图的圆锥/圆弧部分
  2. 用黑色纹理覆盖屏幕,并用黑色纹理打孔.这样我就可以改变洞的属性.

如果libGDX能够做到这一点,那么我对这个/这些被调用的内容一无所知我一无所知.

java libgdx

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

标签 统计

java ×2

graphics ×1

libgdx ×1

swing ×1