小编Ste*_*veL的帖子

将浮点数舍入到预定义点的常规网格

我想将浮点数舍入到给定的精度,例如:

0.051 i want to convert it to
0.1

0.049 i want to convert it to
0.0

0.56 i want to convert it to
0.6

0.54 i want to convert it to
0.5
Run Code Online (Sandbox Code Playgroud)

我无法更好地解释它,但其原因是将点位置(如0.131f,0.432f)转换为网格中瓷砖的位置(如0.1f,0.4f).

c++ rounding

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

Android ICS:JNI错误尝试使用陈旧的本地引用0x1

将我的手机升级到android 4.03后,我的游戏再次打开,它只是关闭而没有任何错误消息在deviCe上和这个在eclipse上

04-02 16:55:27.672: E/dalvikvm(26884): JNI ERROR (app bug): attempt to use stale local reference 0x1
04-02 16:55:27.672: E/dalvikvm(26884): VM aborting
Run Code Online (Sandbox Code Playgroud)

我的游戏主要是用java编写的,但有些部分是在c中,我觉得这个问题是(因为它说JNI ERROR :)不是很难弄清楚))

当然我不知道问题在哪里,所以我不给任何代码

我没有在android 2.3上遇到这个问题

我不知道它是否有帮助但我有时也会得到这个错误

04-02 16:55:26.061: E/Adreno200-ES11(26884): <qglDrvAPI_glTexImage2D:1913>: GL_STACK_UNDERFLOW
Run Code Online (Sandbox Code Playgroud)

java-native-interface android opengl-es android-ndk

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

三星Galaxy变种上的Android opengl白色纹理

我在三星Galaxy变种上获得了白色纹理,但在我测试纹理的其他手机上工作得很好.所以我的任务是导致这种行为的常见嫌疑人是什么?是银河系的变种有什么特殊的硬件,缺少什么?

我的纹理加载代码就是这个

  GLuint texture;
  glGenTextures(1, &texture);
  glBindTexture(GL_TEXTURE_2D, texture);

  glPixelStorei(GL_UNPACK_ALIGNMENT, 2);

  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,GL_MODULATE);

  if(alpha)glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) image_data);
  else glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*) image_data);
Run Code Online (Sandbox Code Playgroud)

GL_TRIANGLES正如往常一样进行绘图

*我没有在我面前的实际设备所以我不能做glGetError

android opengl-es galaxy opengl-es-1.1

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

Linux shell脚本:创建一个包含当前日期名称的文件夹

我正在尝试制作一个简单的备份脚本,我在创建一个名称为curent date的文件夹时遇到问题

我的脚本是那个,基本上问题出在最后一行

drivers=$(ls /media/)

declare -i c=0
for word in $drivers
do
    echo "($c)$word"
    c=c+1
done

read -n 1 drive
echo

c=0
for word in $drivers
do
    if [ $c -eq $drive ]
    then
        backuppath="/media/$word/backup"
    fi
    c=c+1
done


echo "doing back up to $backuppath"

cp -r /home/stefanos/Programming $backuppath/$(date +%Y-%m-%d-%T)
Run Code Online (Sandbox Code Playgroud)

输出继电器:

(0)0362-BA96
(1)Data
(2)Windows
0
doing back up to /media/0362-BA96/backup
cp: cannot create directory `/media/0362-BA96/backup/2012-12-05-21:58:37': Invalid argument
Run Code Online (Sandbox Code Playgroud)

路径是三重检查,直到/ media/0362-BA96 /

解决:janisz说的最终剧本是什么样的

drivers=$(ls /media/)

declare -i c=0
for word in …
Run Code Online (Sandbox Code Playgroud)

linux bash shell

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

sqlalchemy,筛选包含数组的json列

我有一个带有json列“ contact_info”的表,该列的结构通常是这样的:

{
    "telephones":[
        {"telephone":54435345,"type":"landline"},
        {"telephone":694823747,"type":"mobile"},
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想查找具有特定电话的所有行,我在sqlalchemy中的json数组周围发现的唯一东西是这样的:

Table.contact_info["telephones"][0]["telephone"].astext.ilike(mask)
Run Code Online (Sandbox Code Playgroud)

但这仅搜索0th元素。

目前,我的愚蠢解决方案是将“电话”转换为文本并执行ilike,但这当然是错误的...

Table._contact_info["telephones"].astext.ilike(mask)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

Libgdx,改变音乐的音调

我想实现一个很酷的效果,当爆炸时,音乐会稍微变慢一些.

Music类libgdx的不允许改变声音的音高,我尝试使用Sound类,而不是Music玩我的音乐,但它在加载文件很慢(5秒为5 MB的文件,在桌面上!).

所以,问题是如果有办法解决这个问题,或者是否有一个外部库,它可以在桌面和Android上运行,并且可以与libgdx一起使用.

android libgdx

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

Android NDK 将 3D 浮点数组传递给 C 代码

我想将一个 3d 浮点数组(float[][][]) 从 java 传递给 c 编辑它并将数组返回给 java
Curretly 我只能用 1D 数组来做到这一点

jfloat* valuesjf = NULL;
float* valuesf = NULL;
void Java_Grids_Grid5_Update( JNIEnv* env,jobject thiz,jfloatArray values )
{
    valuesjf = (*env)->GetFloatArrayElements(env,values,NULL);
    valuesf = valuesjf;

    valuesf[0]=121+valuesf[0];//do some calculations

    (*env)->ReleaseFloatArrayElements(env, values, valuesjf, JNI_ABORT);
}
Run Code Online (Sandbox Code Playgroud)

我如何用 3D 阵列做到这一点?

c c++ java android android-ndk

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

计算球体周围的点

如何计算球体周围的点?我的粒子爆炸需要这个.我不希望粒子的点是随机的.我需要它们呈球形.对于2d圈爆炸,我使用了这个:

float n=many;
float rad = 1;
for (int i = 0; i < n; i++)
{
        float fi = 2*PI*i/n;
        float x1 = rad*sin(fi + PI)+x ;
        float y1 = rad*cos(fi + PI)+y ;
        addparticlesmart(x,y,(x1-x),(y1-y), 0.01f),r,g,b,a,0.02f);
}
Run Code Online (Sandbox Code Playgroud)

c++ math geometry particle-system

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

C++:vector.erase(this)

我有一个std::vector包含所有对象的东西,并在每个帧中传递给它们,这样每个对象都可以访问其他对象.我的问题是一个对象如何从向量中删除自己?

这不起作用:

vector.erase(this);
Run Code Online (Sandbox Code Playgroud)

还有其他解决方案吗?

c++ vector

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

具有元素限制的 Java 堆栈

我知道这个问题已经问过很多次了,但搜索一个小时后我仍然遇到问题。

我想使用一个 lifo 堆栈,它可以存储最大数量的元素。达到最大数量后,会删除第一个位置的元素并用新的替换它,这样在第一个弹出中我可以得到这个元素,在第二个我必须获取 size-1 的元素。

我尝试过的:

1)使用修改后的 Stack ,如此处所述问题是它总是返回我添加的前 5 个元素(如果大小为 5)。

class StackSizable<E> extends Stack<E>{

    int maxSize;
    StackSizable(int size)
    {
        super();
        this.maxSize=size;
    }

    @Override
    public E push(E elt) {
        super.push(elt);
        while (this.size() > this.maxSize) {
            this.removeElementAt(this.size() - 1);
        }
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

2)使用ArrayDeque,我看不出与简单的Stack有任何区别,它没有设置任何限制(我使用它错了吗?)

ArrayDeque<State> lifo = new ArrayDeque<State>(5);
lifo.pop();
lifo.push(state);
Run Code Online (Sandbox Code Playgroud)

我想在益智游戏中使用它来实现撤消重做功能

已解决:正如汤姆所说,我最终使用了固定大小的堆栈,主要是为了性能

public class FixedStack<T> { private T[] stack; private int size; private int top; private int popBalance = 0;//its used to …

Run Code Online (Sandbox Code Playgroud)

java stack list

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

如何查看libgdx中是否触摸了纹理?

我希望我的纹理在触摸时移动到屏幕上的随机位置,当它错过时我想要system.out("错过").我无法弄清楚如何触及它.现在如果屏幕是触摸,它记录了约10触摸的每一个触摸,因为它呈现如此之快我只能得到.

    public void render(float delta) {
    Gdx.gl.glClearColor(0,1,0,1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);   



    camera.update();
    game.batch.setProjectionMatrix(camera.combined);
    game.batch.begin();
    if(Gdx.input.isTouched())
    {
        int randomX2 = (int)MathUtils.random(100,500);
    int randomY2 = (int)MathUtils.random(100,500);
        game.batch.draw(boxImage, randomX2, randomY2);

    }

    game.batch.end();

}
Run Code Online (Sandbox Code Playgroud)

java android libgdx

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

将多边形外的所有内容涂黑

我有一张地图,为简单起见,我们说它只是一个纹理.在这张地图的顶部,我有一个多边形,表示用户必须遵循的路线.

我想要的是绘制多边形黑色之外的所有东西.或者,当然只在多边形内绘制东西.

为了更好地解释,我拍了一张照片.蓝线定义多边形,每个角都是多边形中的一个点.带有黄色线条的红色是我想要从图片中变黑的部分,只留下带有紫色线条的红色.多边形从A开始,到B结束.

在此输入图像描述

opengl opengl-es opengl-es-2.0 libgdx

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

为什么解构器会调用一个空指针

我很难理解为什么在调用时调用空指针的delete解耦器.因为指针的内容为空,我甚至没有为对象保留任何空间malloc或者new它正在调用什么解构函数?

class Sak{
    public:
        Sak(){cout << "defalt constructor" << endl;}
        ~Sak(){
            cout << "deconstructor" << endl;   
        }
};

int main(int argc, char *argv[])
{
    Sak* s;
    delete s;

    system("PAUSE");
    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

输出:

deconstructor
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

c++

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