使用新代码更新了问题
我正在尝试编写一个 WebGL 着色器来绘制TMX 图层(从 Tiled 编辑器导出)。我正在使用 THREE.js 创建一个Plane网格,并让材质成为ShaderMaterial将在其上绘制地图的材质。
对于那些不知道由Tiled 编辑器导出为 json 的瓦片地图的人,将为data每个图层提供一个属性;它包含一个数值数组,每个数值都是图块集中的图块索引,如下所示:
"data": [5438, 5436, 5437, 5438, 5436, 5437, 5438, 5436, 5437, 5438, 845, ...]
Run Code Online (Sandbox Code Playgroud)
由于我的图块地图为 256 x 256 个图块,因此该数组的长度为 65536 个元素。每个元素的值引用tilemap中的一个tile,其中索引的定义如下:

(来源:melonjs.org)
因此图块地图的索引 0 指的是图块 5438,它们的计数方式如上所示。索引表示图块图中的哪个图块具有图块集中的该图块,它们以相同的方式进行计数。
以下是我创建材质、平面和网格的方法:
this.size = new THREE.Vector2(256, 256);
this.tileSize = new THREE.Vector2(16, 16);
this._material = new THREE.ShaderMaterial({
uniforms: this._uniforms,
vertexShader: this.vShader,
fragmentShader: this.fShader,
transparent: (this.opacity === 0)
});
this._plane = new THREE.PlaneGeometry( …Run Code Online (Sandbox Code Playgroud) 什么是jQuery(JavaScript)中的foreach等效解析JSON对象并返回键/值对?
当我去编译这段代码时,它说它期望在我的构造函数中的 ) 之前有一个不合格的 id
分析2.h:
#ifndef _ANALYSIS2_H
#define _ANALYSIS2_H
class Analysis2{
public:
Analysis2();
...
Run Code Online (Sandbox Code Playgroud)
分析2.cpp:
#include "analysis2.h"
using namespace std;
Analysis2()
{
Seconds_v = 0;
Seconds_t = 0;
}
...
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我昨天写了一个函数来计算"a"字符串中的字符数.我的老师告诉我将代码重构为递归函数,我真的不知道怎么做.
我希望对这个主题有一些反馈,顺便说一句,我是JavaScript的绝对初学者.
function numberOfA(n){
var numberA =0;
for (i=0; i<=n.length; i++){
if(n.charAt(i)== "a" ){
numberA++;}
}
return numberA;
}
Run Code Online (Sandbox Code Playgroud)
按照一段代码调用函数:
var n = prompt("type a word");
var output = numberOfA(n);
alert (output);
Run Code Online (Sandbox Code Playgroud)
提前致谢 !
我一直在做很多练习和例子以获得C的悬念,它最终开始缓慢下沉,但肯定.虽然我有一个小问题,但不能在我的生活中修改它:
#include "stdafx.h"
#include <stdio.h>
int _tmain(int argc, _TCHAR * argv[]) {
int i, grades[] = {98, 87, 92, 79, 85};
for(i = 0; i <= 4; ++i) {
printf("Element %d is %d\n"
i, grades[i]);
}
i = getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题是我期待一个支架,我不知道为什么和我尝试过的任何修正都失败了,我知道这是一个简单的问题,但它让我陷入困境.
任何帮助将不胜感激.