小编0xC*_*sor的帖子

如何在不同的类中调用方法时获取上下文?

所以基本上,我有一个方法,需要一个Context以执行几个任务.

public void openDatePicker() { Context c; }
Run Code Online (Sandbox Code Playgroud)

我想知道,如何定义方法调用方的上下文,所以每次调用方法时都不必将其作为参数插入.

android android-context

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

在Python中对2D列表进行排序

我有一个2D列表:

mylist = [[9,7, 2, 2], [1,8, 2, 2], [2,9, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

使用排序功能,列表的排序方式如下:

[[1, 8, 2, 2], [2, 9, 2, 2], [9, 7, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

但我想这样排序这个列表:

[[9, 7, 2, 2],[1, 8, 2, 2], [2, 9, 2, 2]]
Run Code Online (Sandbox Code Playgroud)

而不是列表的第一个数字,我想用最后一个数字排序,就像使用排序函数 - 它按列表的第一个数字排序.我想按最后一个数字排序,比如7小于8和9,所以7先来.

python sorting list

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

在Android中定位TextView

我有一个TextView.如何使用x和y坐标定位?

TextView leftArrow = new TextView(this);
    leftArrow.setTypeface(tf);
    leftArrow.setText("<");
    leftArrow.setTextSize(30);
    ll.addView(leftArrow);
Run Code Online (Sandbox Code Playgroud)

android textview

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

在OpenGL ES中放大/缩小

我想学习如何执行放大和缩小。这是旋转2D三角形的简单示例。您能否告诉我如何为这个简单的示例添加放大和缩小功能?

我应该使用gl.glScalef吗?怎么样?

public class GLrenderer implements Renderer {
    public GLqueue tri;
    private float angle = 0;

    public GLrenderer() {
        tri = new GLqueue();
    }

    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig eglConfig) {
        // TODO Auto-generated method stub
        gl.glDisable(GL10.GL_DITHER);
        gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
        gl.glClearColor(.0f, .0f, .0f, 0f);
        gl.glClearDepthf(1f);
    }

    @Override
    public void onDrawFrame(GL10 gl) {
        // TODO Auto-generated method stub
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_COLOR_BUFFER_BIT);
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();
        gl.glTranslatef(0, 0, -10);
        gl.glPushMatrix();
        gl.glRotatef(angle, 0, 0, 1);
        tri.draw(gl);
        gl.glPopMatrix();
        angle++;
    }

    @Override
    public void onSurfaceChanged(GL10 …
Run Code Online (Sandbox Code Playgroud)

android opengl-es zoom

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

OpenGL缓冲区-步幅与紧密包装

对于每个属性,使用跨步顶点缓冲区与紧密打包缓冲区有什么优缺点?我的意思是例如:

步幅: xyzrgb xyzrgb xyzrgb

紧: xyzxyzxyz rgbrgbrgb

乍一看,您看起来很容易在使用跨步时更改大小,但是当您使用进行重新分配时,顶点缓冲区的内容将被删除glBufferData()

对我来说,最好使用紧密模型,因为位置,颜色和texcoords可能来自本地内存中的不同数组,并且因为没有跨步缓冲区数据函数;您必须在上传之前将所有数组复制到交错缓冲区中,或者glBufferSubData()每个属性每个顶点使用一个(我猜这是一个糟糕的主意)。

似乎通常使用交错缓冲区(步幅)。这是为什么?我在这里想念什么吗?

opengl vertex-buffer vertexdata vertex-attributes

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

if (boolean condition) in Java

This is always very confusing to me. Can someone please explain it? The confusion I have is - boolean default to false. So in the below example, does it enter the if loop when state is not turned on, i.e., it is TURNED OFF if (condition is false) OR does it enter the if loop when state is TURNED ON, in other words if (condition is true)?

boolean turnedOn;
if (turnedOn) {
    //do stuff when the condition is false …
Run Code Online (Sandbox Code Playgroud)

java if-statement

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

何时在 OpenGL 中使用 glBufferData

我刚刚开始学习 C++ 中的顶点缓冲区对象。我正在读一本关于 OpenGL 的书,它说 VBO 渲染比其他形式的渲染更有效,因为数据存储在 GPU 上而不是堆上。但是,我很困惑,如果您仍然必须将一组数据从堆加载到 GPU,这会是怎么回事。每隔几秒钟,我就会更新我程序的顶点数据,这意味着我必须随后使用glBufferData()来刷新数据以更新到新状态。我看不出这比正常渲染数组更有效率。我想知道我是否调用glBufferData()了不必要的调用,或者是否有更好的方法来直接在 GPU 上更新顶点数据。

c++ opengl vbo

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

Java Primitive的超类(或)类定义?

如果Object是所有东西的超类,那为什么它会对原语不同?是否为int,float ...(数据类型)预定义了任何类?什么是超类或基元的类定义在哪里?

java

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

OpenGL-为什么normalize()不是幂等的?

我正在使用OpenGL ES 2.0开发Java中的Android游戏。目前,我正在编写自己的顶点和片段着色器。我在片段着色器中遇到了一个怪异的问题:与normalize(u_LightPos - v_Position)不同normalize(normalize(u_LightPos - v_Position)),其中u_LightPos是一致且v_Position变化的。

为什么normalize()不等幂?为什么必须调用两次才能获得实际的法线(长度1)矢量?这非常令人困惑。

编辑:

这是顶点着色器:

uniform mat4 u_MVPMatrix;
uniform mat4 u_MVMatrix;
attribute vec4 a_Position;
attribute vec3 a_Normal;
varying vec3 v_Position;
varying vec3 v_Normal;
void main() {
    v_Position = vec3(u_MVMatrix * a_Position);
    v_Normal = vec3(u_MVMatrix * vec4(a_Normal, 0.0));
    gl_Position = u_MVPMatrix * a_Position;
}
Run Code Online (Sandbox Code Playgroud)

这是片段着色器:

precision mediump float;
uniform vec3 u_LightPos;
uniform vec4 u_Color;
varying vec3 v_Position;
varying vec3 v_Normal;
void main() {
    float …
Run Code Online (Sandbox Code Playgroud)

android opengl-es normalization opengl-es-2.0

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

我怎样才能在课堂上支持println?

我自己制作的课程需要支持哪些println()才能打印出来?例如,我有:

public class A {
...
}
Run Code Online (Sandbox Code Playgroud)

应该使用哪些方法A使此代码有效?也许是这样的:

public static void main() {
    A a = new A();
    System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)

我猜这个toString()方法必须重载.我对吗?这够了吗?

java println

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