ArrayList<Integer>[][] matrix = new ArrayList<Integer]>[sizeX][sizeY]();
Run Code Online (Sandbox Code Playgroud)
要么
ArrayList<Integer>[][] matrix = new ArrayList<Integer]>()[sizeX][sizeY];
Run Code Online (Sandbox Code Playgroud)
不工作,我开始认为甚至不可能将ArrayLists存储在矩阵中?
我有一个实现MouseListener(JPanel)的类.当我点击面板时会发生一些事情.我想要的是某种while循环,只要按下鼠标按钮就会循环.
@Override
public void mousePressed(MouseEvent e) {
while(e.isPressedDownD) { // <--
//DO SOMETHING
}
}
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但我希望你理解我正在努力实现的目标.全班有兴趣的人:
package control;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import model.GridModel;
import view.GUIView;
public class MapListener implements MouseListener{
private GridModel model;
private GUIView view;
private int posX;
private int posY;
public MapListener(GridModel model, GUIView view) {
this.model = model;
this.view = view;
}
@Override
public void mouseClicked(MouseEvent e) {
posX = e.getX();
posY = e.getY();
model.setMouseAtX(posX);
model.setMouseAtY(posY);
view.paintTile();
System.out.println("X: " + posX + " Y: " + …Run Code Online (Sandbox Code Playgroud) 假设我有一个获取 GLuint 纹理作为参数的方法,并且我想渲染其中的一部分。例如,考虑一个图块集,我希望能够在加载关卡时加载图块集并渲染它的部分(图块)。
如果我能够以某种方式从要绘制的图块集中定义像素坐标中的高度、宽度、posX 和 posY,那将是最佳的。
我已经尝试了几个小时了,任何帮助将不胜感激。
我目前绘制纹理的简化版本:
void Render::draw(GLuint texture, float posX, float posY, float sizeX, float sizeY) {
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glAlphaFunc(GL_GREATER,0.1f);
glBindTexture( GL_TEXTURE_2D, texture );
glPushMatrix();
glTranslatef(posX,posY,0);
glBegin( GL_QUADS );
//Bottom-left vertex (corner)
glTexCoord2i( 0, 0);
glVertex2f( -sizeX,-sizeY);
//Bottom-right vertex (corner)
glTexCoord2i( 1, 0);
glVertex2f(sizeX,-sizeY);
//Top-right vertex (corner)
glTexCoord2i( 1, 1);
glVertex2f(sizeX,sizeY);
//Top-left vertex (corner)
glTexCoord2i( 0, 1);
glVertex2f( -sizeX,sizeY);
glEnd();
glPopMatrix();
glDisable(GL_BLEND);
}
Run Code Online (Sandbox Code Playgroud) 问题是道路可能会很谨慎;例如,我想支持以下路径:
/chat/auth/test
/chat/auth/add
/chrome/auth/test
/chrome/add
Run Code Online (Sandbox Code Playgroud)
每次auth位于路径中时,我都希望调用 auth 中间件,对于聊天和chrome,我希望调用它们各自的中间件。
应用程序.js:
// Middleware authentication
var chatAuthenticate = require('./server/middleware/chat-authenticate');
app.use('/chat', chatAuthenticate(addon));
var authAuthentication = require('./server/middleware/auth-authenticate');
app.use('/auth', authAuthentication());
Run Code Online (Sandbox Code Playgroud)
我知道我可以为每种可能的组合添加多个条目到 app.js 中,例如 /chat/auth 和 /chrome/auth ,它根本不会增加复杂性,但我只是好奇是否可以解决这与通配符或正则表达式:)