ページへ戻る
印刷
cocos2d-x/ver2系テクスチャアトラスをpngファイルに分割する
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:cocos2d-x/ver2系テクスチャアトラスをpngファイルに分割する をテンプレートにして作成
開始行:
数年前、Animate CCでcocos2dx ver.2系のスプライトシートを...
そのままにして最近になってアップデートしようとすると、い...
まず、スプライトシートのplistは以下のようなxmlファイルに...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0...
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>MLRSPanel0000</key>
<dict>
<key>frame</key>
<string>{{4,4},{126,111}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{126,111}}</string>
<key>sourceSize</key>
<string>{126,111}</string>
</dict>
この中のdict二階層下の「<key>MLRSPanel0000</key>」とかの...
まず、この部分を取り出すPythonのスクリプトを書きました。
from bs4 import BeautifulSoup
import sys
import os
import re
argvs = sys.argv
if len(argvs) < 2 :
print "no file name"
quit()
fileName = argvs[1]
if not os.path.exists(fileName):
print "file does not exist"
quit()
p = re.compile(u"[{|}|]")
p2 = re.compile(u",+")
with open(fileName, 'r') as f:
bf = BeautifulSoup(f.read(),"html.parser")
dictAll = bf.dict.dict
frameName = ""
for d in dictAll:
if d.name == "key":
frameName = d.get_text()
elif d.name == "dict":
for dd in d:
if dd.name == "string":
print frameName, p2.sub(u" ",p.sub(u...
break
このスクリプトの名前を「readSpCocos2ToCut.py」とすると、p...
python readSpCocos2ToCut.py texture.plist > texture.list
を実行すれば、「texture.list」というファイルの中に、フレ...
MLRSPanel0000 4 4 126 111
UpgradeIcon0000 134 4 28 18
artilleryPanel0000 166 4 118 68
次に、ImagiMagickのconvertコマンドを使った以下のシェルを...
cat $1 | while read FN TL TT W H
do
convert $2 -crop "$W"x"$H"+$TL+$TT $FN.png
done
そして先ほどのリストのファイルとtextureのpngファイルと実...
sh cropTexture.sh texture.list texture.png
終了行:
数年前、Animate CCでcocos2dx ver.2系のスプライトシートを...
そのままにして最近になってアップデートしようとすると、い...
まず、スプライトシートのplistは以下のようなxmlファイルに...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0...
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>MLRSPanel0000</key>
<dict>
<key>frame</key>
<string>{{4,4},{126,111}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{126,111}}</string>
<key>sourceSize</key>
<string>{126,111}</string>
</dict>
この中のdict二階層下の「<key>MLRSPanel0000</key>」とかの...
まず、この部分を取り出すPythonのスクリプトを書きました。
from bs4 import BeautifulSoup
import sys
import os
import re
argvs = sys.argv
if len(argvs) < 2 :
print "no file name"
quit()
fileName = argvs[1]
if not os.path.exists(fileName):
print "file does not exist"
quit()
p = re.compile(u"[{|}|]")
p2 = re.compile(u",+")
with open(fileName, 'r') as f:
bf = BeautifulSoup(f.read(),"html.parser")
dictAll = bf.dict.dict
frameName = ""
for d in dictAll:
if d.name == "key":
frameName = d.get_text()
elif d.name == "dict":
for dd in d:
if dd.name == "string":
print frameName, p2.sub(u" ",p.sub(u...
break
このスクリプトの名前を「readSpCocos2ToCut.py」とすると、p...
python readSpCocos2ToCut.py texture.plist > texture.list
を実行すれば、「texture.list」というファイルの中に、フレ...
MLRSPanel0000 4 4 126 111
UpgradeIcon0000 134 4 28 18
artilleryPanel0000 166 4 118 68
次に、ImagiMagickのconvertコマンドを使った以下のシェルを...
cat $1 | while read FN TL TT W H
do
convert $2 -crop "$W"x"$H"+$TL+$TT $FN.png
done
そして先ほどのリストのファイルとtextureのpngファイルと実...
sh cropTexture.sh texture.list texture.png
ページ名: