包含标签 xml 的文章

【未完待续】一个基于AS3的plist库

一个基于AS3的plist库

本文并未全部完成,请耐心等待……

为了在 Sprite Sheet Editor 中加入 plist 格式的 metadata 支持,我在 f60k的as3plist库 基础上进行了修改,实现了我的 as3plist 库。

Plist格式的本质是XML文件。由于AS3内置XML支持,所以这个库的实现还是比较容易的。

Cocos2d-x 中大量使用了plist格式文件 ,因此实现plist的支持非常必要。目前我还没有找到软件能导入 plist+png 格式的 Sprite Sheet。大多数软件都只是能生成该格式。而 Sprite Sheet Editor 只需要稍加修改就能做到这一点。

由于精力有限,项目中的文档并不齐全且可能有错,直接编译 sample 会比较靠谱。

……

阅读全文

【未完待续】cocos2d-x中的plist文件格式详解

cocos2d-x中的plist文件格式详解

本文完成度90%,请耐心等待……

1. 什么是plist文件格式?

这是一种人类可读的串行化对象文件,由苹果公司发明,最早用于NeXTSTEP系统。详情看这里:Plist

cocos2d-x 从 cocos2d-iphone 发展而来,因此在引擎中大量使用了这种文件格式。

2. 如何编辑plist文件?

在 OS X 系统上,XCode 就可以直接打开和编辑plist文件。而在Windows上,我还没有找到可用的plist编辑软件。

当然,plist是基于XML的纯文本格式,随便找个文本编辑器就可以编辑了。

3. cocos2d-x在哪些地方使用了plist格式?

大致有这样几种:

……

阅读全文

在Ant中替换尖括号

在Ant中替换尖括号 我使用 ReplaceRegexp 任务写了一段脚本替换XML的值: <replaceregexp file="app.xml" match="<filename>" replace="name" encoding="UTF-8"/> 由于XML规范不允许在属性值中出现尖括号,Ant会报错: d:\works\build\build.xml:70: 与元素类型 “null”……

阅读全文

使用Vim修复Sprite Sheet Editor 0.5.6版生成的错误XML文件

Sprite Sheet Editor 0.5.6有一个很重大的Bug,在保存metadata的时候,我将frame的ow/oh属性保存成了与w/h属性相同的值。

根据Sprite Sheet Editor修剪每帧中的空白区域的原理说明可以知道,对于剪切过空白的帧来说,ow和oh是还原原始帧大小的关键。如果这两个值出错,会导致无法取得动画的正确尺寸。

好在这个是可以回溯的。可以通过比较某个Label包含的所有帧的尺寸,通过ox/oy和w/h计算出每帧的实际尺寸,最大的那一个,就是该Label中的所有帧的统一ow/oh属性值。

使用这个方法,得到的实际值,甚至比原来通过Sprite Sheet Editor进行手工设定的值更小,也就是更加节省内存。

选择什么工具处理?AS3有强悍的E4X,JAVA和BASH也不错。但我正好想学习下Vim脚本,就用它了!

处理思路:

……

阅读全文

XmlToObject类

此类由 petex 制作,版权归原作者所有。

zrong(www.zengrong.net)修改,加入识别嵌套的xml文档的功能以及支持 type="object" 类型。

详情见 http://www.tweenpix.net/blog/index.php?2003/09/24/43-xmltoobject-as20-class

使用方法:

import cn.mediasky.utils.XmlToObject;
obj = new Object();
obj.onMade = function() {
  trace(this.main.url);
}
XmlToObject.loadData('test.xml', obj);

xml文件:

<root>
  <main type="object">
    <url type="string">http://localhost/abc.php</url> 
    <level type="number">3</level> 
  </main>
  <allowdomains type="array">'abc.net', 'abc.com', 'localhost'</allowdomains> 
</root>

类文件:

……

阅读全文

最近文章

分类

标签

3d aac actionscript adobe adobebug adsl air amd android ane ant antivirus apache api arch as2 as3 asdoc asp aspnet authorware bash bbpress benq bitandbyte bitmapdata bluetooth book box2d browser byewindows c camera capture centos character-set choice chongrenxindu chrome class cms cocos2d-x codec collection color component conference cookbook coolplayer cpp css cygwin datagrid debug degrafa design-pattern develop devops director display-objects docker dragonbones ds eclipse editgrid egret embed emotion encrypt engine english eval excel exif fcs ffmpeg filter firebase firefox flash flash-remoting flashbuilder flashdevelop flashplayer flask flex flexbuilder flv fms font framework freeware fte ftp fxg game gcc general generator git gmail godaddy golang google gprs graphic graphviz gtd gui h264 hardware hexo host house howto hp html html5 http hugo i18n ie image ime ios iot jacky-cheung java javascript job joomla journey jquery json layout lecture library life lighttpd linux lisp list live loader lua mac macos mambo management markup master math mencoder mingw mobile mobile-game-framework module monitor mvc mxmlc mysql ndk netconnection netstream network nginx node nodejs note objective-c office opengl openresty opensource ops osmf osx pay pda performance photoshop php physics player plist plugin portable posix ppc protocol proxy python qiqi qt quick2cocoslua reading reflection regexp ria robotlegs router rtmp ruby sagiteam sandbox sdk server sharedobject shell signals simulator skeletalanimation skin sleepmode smartphone socket software spark spreadsheet spritesheet sql sqlalchemy ssh staticize study svn swfobject terminal testing thread tipsandtricks tlf trace training translate translation tween typescript ubuntu ugly ui unity usingrobotlegs2 utf-8 uwsgi validator vcard vector video vim virtualization vr web weboffice websocket wifi windows wine word wordpress wuhan xbeta xinnet xml youshootfirst zhihu

其它