小编Chr*_*ris的帖子

在LibGDX中模糊屏幕

我试着去创造一个背景效果像这样为我暂停菜单.我目前的想法是暂停屏幕截图,保存,打开它,高斯模糊它,然后将其渲染到屏幕并在顶部渲染菜单.唯一的问题是我不知道如何有效地保存屏幕截图.

我曾经尝试过batch.setColor(0,0,0,0.7f);在背景上渲染褪色的图像,但它没有给我我想要的模糊效果,而只是我想象的那种色调.

示例/文档非常感谢.

编辑:发现此代码

package com.me.mygdxgame;

import java.awt.Point;
import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.ComponentColorModel;
import java.awt.image.DataBuffer;
import java.awt.image.DataBufferByte;
import java.awt.image.PixelInterleavedSampleModel;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.badlogic.gdx.Application.ApplicationType;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.ScreenUtils;

public class ScreenShot {

    private static final int[] RGBA_OFFSETS = { 0, 1, 2, 3 };
    private static final int[] RGB_OFFSETS = { 0, 1, 2 };

    public static void saveScreenshot(String baseName) throws IOException {
        File createTempFile = …
Run Code Online (Sandbox Code Playgroud)

java android blur libgdx

12
推荐指数
1
解决办法
8690
查看次数

在Android应用中打开网页

我想知道你们/ gals在应用程序内打开网页方面会推荐什么(即在其中打开网页而不是网页浏览器的小窗口)我试图将我的网页或多或少地集成到我的应用程序中.谢谢 :)

java android webpage

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

在Libgdx中部署屏幕的正确方法

在Libgdx中完全处理屏幕的正确方法是什么?目前,如果我点击我前一个屏幕上的按钮所在的位置,那么按钮仍然可以完成我在屏幕上的操作.我应该.dispose()dispose()方法中尽我所能吗?或者是否有更简单的方法来处理屏幕上的所有内容?

java android dispose libgdx

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

Clickhouse JDBC 驱动程序类名称

有没有人在 Clickhouse 中使用过 Spring JDBC?驱动程序类名称是什么?

spring.datasource.driver-class-name=<what is it?>
Run Code Online (Sandbox Code Playgroud)

java spring spring-jdbc clickhouse

7
推荐指数
1
解决办法
1646
查看次数

使用ThreeJS获取球体纹理上的单击位置

目前:我有一个球体,其上有一个围绕y轴旋转的纹理.我也有在3D空间中点击的位置,以及球体上的旋转位置(我认为).

目标:获取纹理上的位置,例如:我想获得我点击的图像的正方形.(参见下面的示例球体和图像)


在实践中,我不会使用这个图像,但我觉得这将是一个很好的起点.

代码根据此示例获取球体上的位置:

function onDocumentMouseDown( event ) {
    event.preventDefault();
    mouse.x = ( event.clientX / renderer.domElement.clientWidth ) * 2 - 1;
    mouse.y = - ( event.clientY / renderer.domElement.clientHeight ) * 2 + 1;
    raycaster.setFromCamera( mouse, camera );
    var intersects = raycaster.intersectObjects( objects );
    if ( intersects.length > 0 ) {
        console.log(intersects[ 0 ].point);
        var vector = new THREE.Vector3( 1, 0, 0 );

        var axis = new THREE.Vector3( 0, 1, 0 );
        var angle = objects[ 0 ].rotation.y;

        //Rotate …
Run Code Online (Sandbox Code Playgroud)

javascript math 3d three.js

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

LibGDX - 如何清除屏幕

我正在尝试显示2个不同的屏幕,当用户触摸屏幕时会改变.到目前为止,屏幕下方的代码发生了变化,但文本只是保持重叠和堆积.在切换之前,我需要在屏幕上处理所有内容.

2个相似页面中的一个(仅2上的文本不同)

package com.me.mygdxgame;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.ui.Label;

public class MainMenu implements Screen {
    OrthographicCamera camera;
    SpriteBatch batch;
    Screens game;
    BitmapFont font;

    public MainMenu(Screens game) {
        this.game = game;
    }

    @Override
    public void dispose() {
        batch.dispose();
        font.dispose();
    }

    @Override
    public void resize(int width, int height) {
    }

    @Override
    public void pause() {
    }

    @Override
    public void resume() {
    }

    @Override
    public void render(float delta) {
        CharSequence str = "Main Menu";
        batch = …
Run Code Online (Sandbox Code Playgroud)

java android libgdx

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

如何在Scene2D libGDX中更改屏幕

我一直在谷歌搜索有关如何使用Scene2D使用LibGDX的多个屏幕的教程.到目前为止,这是我在场景处理课中的内容,但我不知道从哪里开始.我知道我必须对构造函数做一些事情,MainMenu.java但我不知道它是什么.

到目前为止我得到了什么:

public class ScreenHandler extends Game{
    public MainMenu Main;
    @Override
    public void create() {
          Main= new MainMenu();
          setScreen(Main);

    }

}
Run Code Online (Sandbox Code Playgroud)

java android libgdx scene2d

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

获取实际触摸位置 LibGDX

使用时Gdx.input.getX()Gdx.input.getY()电脑上的位置似乎没问题,但当我把它放在 Android 平板电脑上时,位置完全关闭。

我做了一些研究,看到某处提到我应该使用它,camera.unproject(Vector3)但我不确定这是否是我需要使用的或如何使用它。

java android libgdx

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

LibGDX/Box2D UnsatisfiedLinkError

我使用的是与教程中使用的完全相同的代码,但由于某种原因,我在尝试运行项目时遇到错误.LibGDX的默认项目运行正常.

错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.badlogic.gdx.physics.box2d.World.newWorld(FFZ)J
at com.badlogic.gdx.physics.box2d.World.newWorld(Native Method)
at com.badlogic.gdx.physics.box2d.World.<init>(World.java:222)
at net.ocps.tchs.permarun.PermaRun.<init>(PermaRun.java:19)
at net.ocps.tchs.permarun.Main.main(Main.java:14)
Run Code Online (Sandbox Code Playgroud)

它引用的行(类中的第一行):

World world = new World(new Vector2(0, -100), true); 
Run Code Online (Sandbox Code Playgroud)

编辑:进一步调试后,我注释掉了涉及该world变量和程序的所有内容(除了黑盒子外没有任何内容显示,因为我在注释掉world定义行时注释掉了任何错误.)

Edit2:有效的完整代码.(有不同的使用方式,GdxNativesLoader.load();但这是我决定使用的方式,感谢aquaraga)

import com.badlogic.gdx.ApplicationListener;  
import com.badlogic.gdx.Gdx;  
import com.badlogic.gdx.graphics.GL10;  
import com.badlogic.gdx.graphics.OrthographicCamera;  
import com.badlogic.gdx.math.Vector2;  
import com.badlogic.gdx.physics.box2d.Body;  
import com.badlogic.gdx.physics.box2d.BodyDef;  
import com.badlogic.gdx.physics.box2d.BodyDef.BodyType;  
import com.badlogic.gdx.physics.box2d.Box2DDebugRenderer;  
import com.badlogic.gdx.physics.box2d.CircleShape;  
import com.badlogic.gdx.physics.box2d.FixtureDef;  
import com.badlogic.gdx.physics.box2d.PolygonShape;  
import com.badlogic.gdx.physics.box2d.World;  
import com.badlogic.gdx.utils.GdxNativesLoader;
public class PermaRun implements ApplicationListener {  
     World world;  
     Box2DDebugRenderer debugRenderer;  
     OrthographicCamera camera;  
     static final float BOX_STEP=1/60f; …
Run Code Online (Sandbox Code Playgroud)

java android box2d libgdx

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

在另一个进程的内存中搜索字符串的每次出现

我试图检索某个字符串的每次出现,例如“ExampleString”。我目前所拥有的将在进程内存中找到该字符串的第一次出现,但不会找到后续字符串。我尝试使用 avector来存储所有结果,但它仍然只找到一个结果。

下面是我用来获取内存位置向量的函数。同样,它适用于第一个位置。

std::vector<char*> GetAddressOfData(DWORD pid, const char *data, size_t len) {
    HANDLE process = OpenProcess(PROCESS_VM_READ | PROCESS_QUERY_INFORMATION, FALSE, pid);

    std::vector<char*> locations;
    int cur = 0;
    if(process){
        SYSTEM_INFO si;
        GetSystemInfo(&si);

        MEMORY_BASIC_INFORMATION info;
        std::vector<char> chunk;
        char* p = 0;
        while(p < si.lpMaximumApplicationAddress){
            if(VirtualQueryEx(process, p, &info, sizeof(info)) == sizeof(info)){
                p = (char*)info.BaseAddress;
                chunk.resize(info.RegionSize);
                SIZE_T bytesRead;
                if(ReadProcessMemory(process, p, &chunk[0], info.RegionSize, &bytesRead)){
                    for(size_t i = 0; i < (bytesRead - len); ++i){
                        if(memcmp(data, &chunk[i], len) == 0) {
                            cur++;
                            locations.resize(cur);
                            locations[cur-1] = …
Run Code Online (Sandbox Code Playgroud)

c++ memory readprocessmemory

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

HTML5 Canvas 和 JS 帧率慢慢降至 0

我正在尝试为游戏设置 html 5 画布,我的 fps 开始时很好,但后来慢慢下降到 0 fps 并滞后于浏览器窗口。我觉得我错过了一些非常重要的东西。

我用来管理刷新和绘图的 JS:

var stop = false;
var frameCount = 0;
var $results = $("#stats");
var fps, fpsInterval, startTime, now, then, elapsed;

var $canvas = $("#gameWorld")[0];
var context = $canvas.getContext("2d");

startAnimating(30);

function startAnimating(fps) {
    fpsInterval = 1000 / fps;
    then = Date.now();
    startTime = then;
    console.log(startTime);
    animate();
}

function animate() {

    // stop
    if (stop) {
        return;
    }

    // request another frame
    requestAnimationFrame(animate);

    // calc elapsed time since last loop
    now = …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas

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