2012年8月 的存档

ios多线程同时访问数组出现was mutated while being enumerated

  错误: <__NSArrayM: 0x96be3e0>was mutated while being enumerated.
  意思就是数组在被一个线程访问的时候,另一个数组也对它进行访问。
  原因是这样的,我的游戏中,有个掉道具的系统,里面有一个数组来保存出来的道具,用一个计时器不停的检测玩家是否碰到道具,但是道具还不停的出来(在主线程中加入)。这时,一方面是计时器线程定期检测,读写道具数组,另一方面是主线程添加道具也要读写道具数组,这两个线程在不特定的时刻会冲突。
  解决的方法:在次线程中复制一个道具数组的副本,用副本进行遍历检测碰撞。
  NSArray* array=[NSArray arrayWithArray:b];

一些程序员不能不知道的名词

RFC

Request For Comments征求修正意见书,由互联网工程任务组(IETF)发布的一系列备忘录。文件收集了有关互联网相关资讯,以及UNIX和互联网社群的软件文件,以编号排定。

FSF

Free Software Foundation,自由软件基金会, 阅读更多…

Blocks的编程应用笔记

  Blocks 最大的便利就是在动画时简化的回调过程。 在cocos2d中用Blocks能使代码更简洁,用CCCallBlock,CCCallBlockN(可以传一个参数),加在动画的末尾,大大简化了回调的过程,使代码看着更加的整洁。
  在写个小Demo,以后复习的时候也能看看。 阅读更多…

photoshop分割保存精灵表图片

  原来写的用python来切割有plist文件的精灵表,本意和今天的都是一样,想获取素材,没有美工的程序员只能这样!要是遇到没有plist只有一张精灵表可以用另外的方法,不过没有直接写一句python XX 快,但是至少能到达自己的目的,那就是用photoshop分割图片。
  用处理图片的工具来处理图片, 阅读更多…

python2_04分割有plist文件的精灵表

  置顶更新:最近写了一个MAC版的APP来分割有plist文件的精灵表(照顾用python脚本总是出现问题的朋友),请移步至https://github.com/afantree/CutPicture。点击下载按钮即可下载,也可自己下载code手工编译。

==========时间分割线==========

  昨天写了Zwoptex生成精灵表,有合就有分,能不能把合成的文件再原模原样的还原回来,哈哈……于是,今天利用闲暇的时间想一个问题:plist是用xml格式的,强大的python中的PIL(Python Imaging Library)可以处理各种图片,更不用说png图片了。
  昨天分析过plist,除了一个名字外,今天还能用上的还有两个属性,原始的文件的尺寸大小(这必须得要)和纹理在精灵表中的位置和大小,因为对xml的操作不太多,只是读取数据,就选用轻量级的ElementTree,把从xml解析出来的字符串数据转换成int类型,这就得到了图片属性的真实数据,这在精灵表上复制那个区域内的图片,然后在粘贴到新建的图片里面,哈哈,这样就搞定了。
  在操作的时候会用到PIL库,自己到官网下载源码安装。
  大概的思路是说出来啦, 阅读更多…

ios8_cocos2d精灵表与Zwoptex

  精灵表是一个图像中包含一系列以网格形式存在的精灵图像。,对每个精灵都可以通过他在大图像中的行和列位置进行访问。可以用Zwoptex工具生成一张精灵表。
  点击下载Zwoptex
  Zwoptex工具有3中不同的输出,如下:
(1)为特定的精灵表存储设置和图像的项目文件。
(2)精灵表的png图像。
(3)plist格式的控制文件。
  使用步骤如下:
  (1)import image:导入要输入的图片
  (2)左边有参数进行设置
  (3)点击Layout和Publish进行排序和发布生成 阅读更多…