>> Fantastic. The solution for this is pretty straight forward, based upon what
we've already seen. Firstly, we walk through all the tile set's inside of the
map object that we've created. For each one of them, we've created a new image,
set it's on load function, and then set it's source name. Once we are loaded,
effectively we increment the imgLoadCount variable, and then we test if the
imgLoadCount variable is equal to the number of tile sets that could potentially
occur. So effectively, we are saying that our number of images loaded equal to
number of images that exist. If so, we can set fully loaded to true. Now, you'll
notice one annoying little variants of the JSON format for tiled, is that the
image path is actually an absolute path to the file from where the editor and
base file were formed. So effectively, what this is saying is that, given the
path to tiled, there's some really crazy file path to actually get to the grid's
master PNG from the source file we're using. So, to properly load that, what
we'd like to do is strip out all of the other data that's not just the file
name. And then, append the file name to our data directory. Now, this is because
our editing environment may be in a different directory structure than our
production environment that users are actually playing. For grids, we use this
nifty little regular expression here that allowed us to replace all of the data
before the final slash with blank characters, giving us the file name for this
image. We appended that filename to the ../data directory, giving us the source.
Estupendo. La solución para esto es bastante sencilla,
en base a lo que ya hemos visto. En primer lugar,
vamos a reiterar todos los tilesets dentro del
objeto map que hemos creado. Para cada uno de ellos hemos creado una imagen nueva,
colocado en onload function y luego en el nombre de origen. Una vez que se cargan
efectivamente incrementamos la variable imgLoadCount
y luego probamos si
la variable imgLoadCount equivale al número de tileSets que potencialmente podrían ocurrir.
Así en efecto, estamos diciendo que el número de imágenes descargadas equivalen al
número de imágenes existentes. Si es así,
podemos establecer que fullyLoaded es igual a true.
Ahora, te darás cuenta de una pequeña y molesta variante del formato de casilla JSON, y es que
la ruta de la imagen es en realidad una ruta completa al archivo de base y de editor
del cual fueron originados.
Así que efectivamente, lo que esto significa es que,
dada la trayectoria de casillas, hay una ruta de archivo algo absurda para llegar desde el archivo de origen
que estamos utilizando hacia la red principal .png
De esta manera para cargar de forma correcta,
lo que nos gustaría hacer es despojarnos de la demás información que no solamente es el nombre del archivo.
Y luego, agregar el nombre del archivo a nuestro directorio de datos. Ahora esto se debe a que
nuestro entorno de edición pueda estar
en una estructura de directorios diferente a los
entornos de producción que están jugando los usuarios.
Para redes, usamos esta
pequeña expresión ingeniosa
que nos permite reemplazar todos los datos
antes de la barra final con caracteres en blanco,
lo que nos da el nombre de la imagen del archivo.
Adjuntamos ese nombre de archivos para la dirección ../data, lo que nos da la fuente.
>> शानदार। समाधान के आधार पर क्या यह बहुत सीधे आगे, है के लिए
हम पहले से ही देखा है। सबसे पहले, हम सभी टाइल के अंदर के सेट के माध्यम से चलना
नक्शा वस्तु है कि हम बनाया है। उनमें से हर एक के लिए, हम एक नई छवि बना लिया है,
यह है पर सेट फ़ंक्शन को लोड, और उसके बाद यह स्रोत नाम सेट करें। एक बार हम लोड किए गए हैं,
प्रभावी रूप से हम imgLoadCount चर वेतन वृद्धि, और फिर हम अगर परीक्षण
imgLoadCount चर टाइल सेट है कि संभवतः सकता है की संख्या के बराबर है
पाए जाते हैं। बहुत प्रभावी ढंग से, हम कह रहे हैं कि हमारे छवियों की संख्या बराबर है भरी हुई
छवियाँ है कि अस्तित्व की संख्या। यदि ऐसा है तो, हम पूरी तरह से भरा हुआ है सच करने के लिए सेट कर सकते हैं। अब, तुम हूँ
एक कष्टप्रद थोड़ा वेरिएंट JSON के प्रारूप के लिए नोटिस कि है टाइल की गईं,
छवि पथ कहाँ से फ़ाइल को वास्तव में कोई पूर्ण पथ है संपादक और
मूल फ़ाइल का गठन किया गया। बहुत प्रभावी ढंग से, क्या यह कह रहा है कि, दी
पथ के लिए टाइल की गईं, वहाँ वास्तव में ग्रिड को पाने के लिए कुछ सच में पागल फ़ाइल पथ है
हम प्रयोग कर रहे हैं स्रोत फ़ाइल से मास्टर PNG. तो, कि, ठीक से लोड करने के लिए क्या
हम चाहते हैं करने के लिए बस फाइल नहीं है अन्य डेटा के सभी बाहर पट्टी है
नाम. और तब, फ़ाइल नाम करने के लिए हमारे डेटा निर्देशिका पीछे जोड़ें। अब, यह है क्योंकि
हमारा संपादन वातावरण हो सकता है एक अलग निर्देशिका संरचना की तुलना में हमारे
उत्पादन वातावरण है कि उपयोगकर्ता वास्तव में खेल रहे हैं। ग्रिड के लिए, हम इस का उपयोग करें
सभी डेटा को प्रतिस्थापित करने के लिए हमें की अनुमति निफ्टी थोड़ा नियमित अभिव्यक्ति है कि यहाँ
से पहले अंतिम स्लेश रिक्त वर्ण के साथ, हमें देने के इस के लिए फ़ाइल का नाम
छवि। हम करने के लिए कि फ़ाइल नाम जोड़े जाते.../data निर्देशिका, हमें देने के स्रोत।
順調ですね
今までの内容に比べて今回は簡単です
作成したマップ内のタイルセットを見てきました
各タイルセットに新しい画像オブジェクトを作成して
onload関数やソース画像の場所を設定します
読み込まれたらimgLoadCount変数を+1して
値がタイルセットの総数と等しいかテストします
読み込んだ画像の数と
存在する画像の数が同じはずです
一致すればtrueとなります
TiledのJSONファイルは画像の保存場所の
パスの書き方が少し厄介です
画像へのパスがエディタと
ベースファイルが形成された場所から
画像ファイルへの絶対パスになっています
つまりgrits_master.pngまでのパスを
プログラムファイルからのパスに
変える必要があります
正しく読み込むために
いらないデータを丸ごと取り除きましょう
そしてディレクトリの名前を付加します
これはユーザが実際に使う開発環境と
編集環境のディレクトリ構造が異なるためです
正規表現を使って文字列の
最後のスラッシュ記号の前にある
全ての文字を取り除きます
../data/を付加して
ソース画像のファイル名を設定します
Fantástico. A solução para isso
é muito simples, baseado no que
nós já vimos. Primeiro, nós passamos
por todos os blocos definidos dentro
do objeto "map" que nós criamos.
Para cada um deles, nós criamos uma nova imagem,
definimos a função de carregamento, e então definimos seu nome fonte. Uma vez que são carregados,
nós incrementamos a variável
"imgLoadCount", e então testamos se a
variável "imgLoadCount" é igual ao
número de blocos que podem potencialmente
ocorrer. Então, estamos dizendo que nosso número de imagens carregadas se iguala ao
número de imagens que existem. Nesse caso, nós podemos definir que "fullyLoaded" é verdadeiro. Agora, você
irá perceber uma irritante pequena variação
do formato do JSON para blocos, que é o
caminho da imagem que é na verdade um
caminho absoluto para o arquivo
de onde o editor e o arquivo base foram formados.
Então, o que isso está
dizendo é que, dado um caminho para o bloco, existe um caminho de arquivo realmente louco para chegar
ao PNG mestre do GRITS desde o arquivo fonte que estamos usando. Então, para carregar isso apropriadamente
de forma apropriada, o que nós gostaríamos de fazer é tirar todos os outros dados que não são o nome do arquivo.
E então, anexar o nome do arquivo ao nosso
diretório de dados.
Agora, fazemos isso porque nosso ambiente de edição talvez esteja em uma estrutura de diretório diferente
do nosso ambiente de produção, no qual os usuários estão realmente jogando. Para GRITS, nós usamos essa
pequena expressão elegante e usual aqui,
que nos permite substituir todos os dados
antes da barra final por espaços em branco,
nos dando o nome do arquivo para essa
imagem. Nós anexamos esse nome de arquivo
ao diretório ".../data", nos dando a fonte.