2017-11-26 27 views
0

私はタイルマップを持っていますので、タイルセット画像に基づいてタイルセットを作成し、内部のサイズ。jsonとcppの "画像のコレクション"が動作しない

すべてはうまくいきますが、 "画像のコレクション"タイルセットではなく、これを私たちのゲームにjsonで解析します。

ここにjsonからcppまでのレイヤローダがあります。それはレイヤーをロードし、それがうまくいきます。 "Collection of Images"タイルセットからマップに何かを追加すると、それは無視されます。私はまだそれと衝突することができますが、それは示されていません。画像内

void MapMaker::loadLayer(Json::Value &layer, std::list<Object *> &objects, TileSize tileSize) { 

MapLayer *tmp = new MapLayer(tileSize); 

tmp->width = layer["width"].asInt(); 
tmp->height = layer["height"].asInt(); 

memset(tmp->tileMap, 0, sizeof(tmp->tileMap)); 

for(size_t i = 0; i < layer["data"].size(); ++i) 
    tmp->tileMap[i] = layer["data"][(int)i].asInt(); 

tmp->isCollisionLayer = layer["properties"]["Collision"].asBool(); 

objects.push_back(tmp); 

} 

木箱は、 image with crates

が、が、ゲームでこれらがなくなっているタイルセット「画像のコレクション」からですが、プレイヤーはまだ...彼らと衝突することができます image without crates

私はいくつかのコードが見つからないと思います。誰かが大いに感謝することができれば助けてくれれば。

I have here the json map file if needed

+2

これは、レンダリングコードに関連しています。あなたはマップをレンダリングするために何を使用していますか? –

答えて

1

JSONの "クレート"タイルセットレイヤーが空です...

したがって、クレートは描画されません。衝突検出はあなたのレイヤーの "collision"という名前のインビジブルオブジェクトから計算されるため、あなたは衝突することができますが、クレートは表示されません。

+0

BTW:TiledでJSONを開き、すべてのレイヤーの可視性をオフにすると、これが表示されます。 – Dennis

関連する問題