我有一个简单的2D瓷砖生成器工作,我正在读取填充1或0的int地图[100] [100]并根据他们的瓷砖ID绘制瓷砖,0是水,1草.
我使用一些基本的Numpad控制处理程序,使用camIncr(32.0f),我根据运动设置摄像机位置:
case KeyEvent.KEYCODE_DPAD_RIGHT:
cameraPosX = (float)(cameraPosX + camIncr);
break;
Run Code Online (Sandbox Code Playgroud)
在我的绘制循环中,我只是绘制足够的瓷砖以适合我的屏幕,并使用cameraOffsetX和cameraOffsetY(它的相机位置/瓷砖大小)跟踪左上方的瓷砖
我使用GLU.gluOrtho2D进行投影.
这是我的自定义渲染器中的绘制循环:
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode( GL10.GL_PROJECTION );
gl.glLoadIdentity( );
GLU.gluOrtho2D(gl, 0, scrWidth, scrHeight, 0);
repere.draw(gl, 100.0f); // this is just a helper, draw 2 lines at the origin
//Call the drawing methods
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
tiledBackground.draw(gl, filtering);
Run Code Online (Sandbox Code Playgroud)
我的tilesBackground绘图功能:
int cols = (569 / 32) + 2; // how many columns can fit on the screen
int rows = (320 / 32) + 1; // haw …Run Code Online (Sandbox Code Playgroud) 我有一个表单,其中有使用jquery动态添加的文本框.文本框ID形成一个数组,即Quantity [0],Quantity [1],Quantity [2] ......
我想在这些文本框中添加数字,并在另一个名为"total_quantity"的文本框中显示该值,最好是在焦点移出数组文本框时.
我该怎么做?我不介意使用jQuery或简单的javascript,这更容易.
这是我的代码,用错误的值调用SetOpacity,为什么?
function SetOpacity(eID, opacity){
eID.style.opacity = opacity / 100;
eID.style.filter = 'alpha(opacity=' + opacity + ')';
}
function fade(eID, startOpacity, endOpacity){
var timer = 0;
if (startOpacity < endOpacity) {
for (var i = startOpacity; i <= endOpacity; i++) {
setTimeout(function() {SetOpacity(eID, i);}, timer * 30);
timer++;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个像"1.5%"的字符串,并希望将其转换为double值.
可以通过以下方式简单地完成:
public static double FromPercentageString(this string value)
{
return double.Parse(value.SubString(0, value.Length - 1)) / 100;
}
Run Code Online (Sandbox Code Playgroud)
但我不想使用这种解析方法.
有没有其他方法与IFormatProvider或类似的东西?
考虑到磁盘上的一个非常大的文件(可能超过4GB),我想扫描这个文件并计算出特定二进制模式的发生时间.
我的想法是:
使用内存映射文件(CreateFileMap或boost mapped_file)将文件加载到虚拟内存.
对于每个100MB映射内存,创建一个线程进行扫描并计算结果.
这可行吗?有没有更好的方法呢?
更新:
内存映射文件将是一个不错的选择,通过1.6GB文件扫描可以在11s内处理.
谢谢.
我正在构建客户端 - 服务器应用程序.现在我想使用以下代码将消息从客户端转发到所有其他客户端:
ArrayList<User> usrs = _usrHandler.getUsers();
for(User usr : usrs) {
if(!usr.getSocket().equals(_connection)) {
usr._oOut.writeObject(new CommunicationMessage(this._comMsg.getMessage(), CommunicationMessage.MSG,
this._comMsg.getUser()));
}
}
Run Code Online (Sandbox Code Playgroud)
在客户端,程序正在侦听消息.它抛出了这个异常:
java.io.StreamCorruptedException: invalid stream header: 7371007E
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at Connection$MessageListener.run(Connection.java:126)
at java.lang.Thread.run(Thread.java:637)
Run Code Online (Sandbox Code Playgroud)
消息监听:
while(this._loop) {
this._comMsg = (CommunicationMessage) this._dataInput.readObject();
SimpleAttributeSet attr = new SimpleAttributeSet();
attr.addAttribute(StyleConstants.CharacterConstants.Bold, Boolean.TRUE);
attr.addAttribute(StyleConstants.CharacterConstants.Foreground, _comMsg.getUser().getColor());
messageClient.addMessage(_comMsg.getUser().getNickName() + ": ", attr);
messageClient.addMessage(_comMsg.getMessage(), _comMsg.getUser().getColor());
_comMsg = null;
}
Run Code Online (Sandbox Code Playgroud)
有人看到错误吗?
我正在寻找一种全文搜索算法,可以找到类似的程序名称,例如"Mozilla Firefox"和"Firefox 3.5,或"Adobe Reader"和"Adobe Acrobat Reader v10".Levenshtein距离效率太低这种情况,因为拼写不会改变.
它必须使用串行扫描(而不是索引).
我需要最大的精度和最小的错误.你会推荐什么?
谢谢!
我今晚刚开始使用QtCreator,它似乎把所有接口内容放在ui文件中.我按照教程为我的图标创建了一个资源,然后我将它们添加到顶部的菜单栏中.
我需要在点击其中一个时建立连接,并且无法弄清楚如何为它进行回调.
我是否必须通过代码完全创建它们,或者是否有某种方法为它们添加回调(而不仅仅是让它们与其他对象交互).
.net ×2
javascript ×2
android ×1
asp.net ×1
c# ×1
c++ ×1
class ×1
formatting ×1
helper ×1
io ×1
java ×1
jquery ×1
large-files ×1
opengl-es ×1
qt ×1
qt-creator ×1
qt-designer ×1
right-click ×1
search ×1
selenium ×1
t4 ×1