>> Now let's take a little deeper look at what is contained inside of the data
array. Now, if you recall, each layer is actually a large two-dimensional grid
of tile data. It's listed here in the JSON file as a single integer array.
Effectively, this is what we call raster scan order, where each row is listed in
the file after the previous row, linearly. The value of each element in the data
array actually has significance in itself. First off, if you see a zero value
that effectively means that no tile has been placed in that x,y position inside
of this layer. Any non-zero value represents a tile index for a given atlas.
Now, this is where things start to get a little bit tricky. Now, if you recall,
this little element here, first GID, that exists for each atlas that's listed in
our tile sets array. Now, if a zero value in the data array for a layer, it
means that there is no tile there. That means that the first element to
represent that a tile does exist must start with one. Each atlas that exists
inside of the tiled file will have an increasing first GID. Now, tiled has its
own heuristics on what the first GID should be for each subsequent atlas that's
loaded. We won't get into that other than to say that you need to know what this
number is. So, what we see here is that if we have a value of 167 in this data
array, and the first GID of the atlas starts with 1, this effectively means that
167 is the first atlas, tile number 166. Now, this makes a little bit more sense
once you start getting 4 or 5 different atlas layers on there. Right now, it may
seem a little bit [unknown]. The larger issue that you have to run into is what
does 166 actually mean. Now, recall once again that the atlas that's being given
to us is in raster scan order as well. So, the value of 166 is actually the
raster index into the 2-dimensional array. With this set up, computing the
coordinates for the atlas simply involves mapping the tile size to the right
offset inside the atlas itself.
>> Ahora, demos una mirada un poco más detallada
al contenido de la matriz de datos.
Si recuerdan, cada capa es en realidad
una gran cuadrícula bidimensional...
con datos del recuadro. Se lista en el archivo JSON
como una única matriz de enteros.
Efectivamente, esto se llama orden de exploración
de trama, donde cada fila aparece...
en el archivo después de la fila previa, linealmente.
El valor de cada elemento...
en la matriz de datos tiene una importancia intrínseca. Primero, si tenemos un valor cero...
significa, en efecto, que no se colocó ningún recuadro
en la posición x, y dentro de la capa.
Un valor distinto de cero representa
un índice de recuadro de un atlas determinado.
Aquí es donde las cosas se ponen un poco complicadas.
Si ustedes recuerdan...
este elemento menor, "first GID" [primer GID], existe
para todos los atlas que se muestran...
en la matriz de conjuntos de azulejos.
Si hay un cero en la matriz de datos de una capa...
significa que allí no hay recuadros.
Eso significa que el primer elemento...
que muestra la existencia de un recuadro debe
comenzar con uno. Los atlas que existen...
dentro del archivo de recuadros tendrá un "first GID"
que aumenta. Los recuadros tienen...
su propia heurística sobre cuál debe ser el "first GID"
para todos los atlas posteriores...
que se carguen. No nos vamos a detener en eso más que para mencionar que se necesita saber...
cuál es ese número. Por lo tanto, si tenemos
un valor de 167 en esta matriz de datos...
y el "first GID" del atlas comienza con 1,
esto significa, en efecto...
que 167 es el primer atlas, número de recuadro 166.
Esto adquiere más sentido...
una vez que se comienzan a incluir 4 o 5 capas de atlas diferentes. Ahora mismo, puede que...
parezca un poco [inaudible].
El problema más grande que encontraremos...
es qué significa en realidad 166.
Recordemos que el atlas que nos están dando...
también está en un orden de exploración de trama.
Por lo tanto, el valor de 166 es en realidad...
el índice de trama en la matriz bidimensional.
Con esta configuración, el cálculo de...
las coordenadas del atlas consiste simplemente
en asociar el tamaño del recuadro...
con el desplazamiento correcto
en el interior del atlas.
>> अब चलो ले क्या पर एक थोड़ा गहरा देखो डेटा के अंदर निहित है
सरणी। यदि आपको याद है, अब, प्रत्येक परत वास्तव में एक बड़ी दो आयामी ग्रिड है
टाइल के डेटा। यह यहाँ के रूप में एक एकल पूर्णांक सरणी JSON फ़ाइल में सूचीबद्ध है।
प्रभावी रूप से, यह क्या हम रेखापुंज स्कैन आदेश, जहां प्रत्येक पंक्ति में सूचीबद्ध है कहते है
पिछली पंक्ति में, के बाद फ़ाइल linearly. डेटा में प्रत्येक तत्व का मान
सरणी वास्तव में महत्व अपने आप में है। पहले से, अगर आप एक शून्य मान देखना
कि प्रभावी रूप से इसका मतलब है कोई टाइल कि में x, y स्थिति के अंदर स्थित किया गया है कि
इस परत के। किसी भी गैर-शून्य मान किसी दिए गए एटलस के लिए एक टाइल सूचकांक का प्रतिनिधित्व करता है।
अब, यह है जहां चीजें थोड़ा सा मुश्किल पाने के लिए शुरू। अब, अगर आप को याद,
इस छोटी सी तत्व मौजूद है यहां, पहले जीआईडी, कि है प्रत्येक एटलस में सूचीबद्ध है के लिए
हमारे टाइल सरणी सेट करता है। अब, अगर एक परत, के लिए डेटा सरणी में एक शून्य मान यह
इसका मतलब है कि वहाँ कोई टाइल है। इसका मतलब है कि पहली तत्व करने के लिए
एक टाइल मौजूद है का प्रतिनिधित्व करने के साथ एक शुरू करनी चाहिए। प्रत्येक एटलस मौजूद है
टाइल फ़ाइल के अंदर एक बढ़ती हुई पहली जीआईडी है जाएगा। अब, टाइल है अपनी
ही heuristics क्या प्रत्येक बाद एटलस के लिए पहली जीआईडी हो जाना चाहिए कि
भरा हुआ है। हम में है कि दूसरे से कहते हैं कि तुम क्या यह पता करने की आवश्यकता करने के लिए प्राप्त नहीं होगा
संख्या है। अगर हम इस डेटा में 167 के एक मूल्य है तो, क्या हम यहाँ देखते है कि
सरणी, और एटलस की पहली जीआईडी 1 के साथ प्रारंभ होता है, यह प्रभावी रूप से इसका मतलब है कि
167 पहली एटलस, टाइल संख्या 166 है। अब, यह थोड़ा और अधिक समझ में आता है
एक बार तुम 4 या 5 अलग एटलस परतों पर वहाँ हो रही शुरू। ठीक है अब, यह कर सकते हैं
एक छोटा सा [अज्ञात] लग रहे हैं। बड़ा मुद्दा है कि आप में चला है क्या है
166 वास्तव में क्या मतलब है। अब, एक बार फिर से एटलस कि दिया जा रहा है याद है कि
हमारे लिए रेखापुंज स्कैन क्रम में भी है। तो, वास्तव में 166 के मूल्य है
रेखापुंज 2-आयामी सरणी में अनुक्रमणिका। इस सेट अप, कंप्यूटिंग के साथ
एटलस के लिए निर्देशांक बस शामिल करने के लिए सही टाइल आकार का मिलान
एटलस के अंदर ही ऑफसेट।
データ配列に含まれる情報を
より詳しく見ていきましょう
それぞれのレイヤはタイルデータで
大きな2次元のグリッドを示しており
JSONファイルの中に整数で配列されています
これをラスタースキャン方式と呼び
2次元グリッドの各列のデータが
列の順番通りに並んでいることを表します
データ配列の各要素の値はそれ自体に意味があります
たとえば0はその座標に
タイルが置かれていないことを意味します
ゼロでない値はアトラス画像上の
タイルのインデックスを与えています
ここからは少し難しくなります
firstgidの場所を見てみると
tilesetsの中にあるとわかります
もしレイヤのデータ配列がゼロなら
タイルがないことになります
タイルがあると認識させるためには
値は1から始まる必要があります
Tiledで出力したファイルの中に
何枚かあるアトラス画像のfirstgidに対して
読み込みの順番が割り振られています
ここでは数字に着目するとだけ言っておきましょう
データ配列の中に167と表示されていれば
アトラス画像のfirstgidは1から始まり
167が最初のアトラス画像で
タイルの番号は166となります
4つまたは5つに分かれた
アトラス画像のレイヤを使う場合は
より分かりやすいと思います
今は少し分かりにくいかもしれません
それより166の意味に悩まされます
与えられているアトラス画像も
ラスタースキャン方式でしたね
つまり166という値は
raster indexを2次元配列に
組み込むためのものです
アトラス画像上の座標を計算して
タイルのサイズを正しい補正値でマッピングします
Agora, vamos olhar com mais detalhes o
que está contido dentro do vetor de dados.
Agora, se você se lembra, cada camada é
na verdade uma grande grade bidimensional
de dados de blocos. Ela está aqui no arquivo
JSON como um único vetor de inteiros.
Efetivamente, isso é o que nós chamamos ordem de verificação por varredura, onde cada linha é listada
no arquivo depois da linha anterior, de forma linear.
O valor de cada elemento no vetor de dados,
na verdade tem um significado por si só. Em primeiro lugar, ao ver um valor zero
isso significa que nenhum bloco foi coloca
nessa posição x,y dentro dessa camada.
Qualquer valor diferente de zero representa
um índice de bloco para um dado atlas.
Agora, aqui é onde as coisas começam a se complicar um pouco. Se você se lembrar, esse pequeno elemento
aqui, "firstgid", que existe para cada atlas
que está listado no nosso
vetor de blocos. Agora, se um valor zero no
vetor de dados para uma camada
significa que não existe um bloco ali,
isso significa que o primeiro elemento a
representar que um bloco existe,
deve começar com um. Cada atlas que existe
dentro do arquivo em blocos terá um "firstgid" crescente.
Agora, blocos possuem suas heurísticas próprias
para o valor que "firstgid" deve ter para cada
atlas seguinte que é carregado. Nós não entraremos nisso exceto dizer que você precisa saber
o que é esse número. Então, o que nós vemos aqui
é que se você tem um valor de 167 nesse
vetor de dados, e o "firstgid" do atlas
começa em 1, isso significa que
167 é o primeiro atlas, número de bloco 166.
Agora, isso faz um pouco mais de sentido assim que você começar a ter 4 ou 5 camadas de atlas diferentes aqui.
Agora, isso pode parecer um pouco [Gapti Guck]. A maior questão que você tem que passar é o que
166 significa, na verdade. Agora, relembrando
de novo que o atlas que é dado para nós
está em ordem de verificação por varredura também.
Então, o valor de 166 é na verdade o
índice de varredura no vetor
bidimensional. Com isso definido,
calcular as coordenadas para o atlas envolve
simplesmente mapear o tamanho do bloco para o
deslocamento correto dentro do atlas.