- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 cocos2d-x 多个child可以共一个tag
坑啊,一个bug找了几个小时农场里的植物状态更新时,remove前一个状态的sprite,再add一个新的sprite。结果旧的sprite始终不能正常消失。然后查看reference count,一会儿2, 一会儿又是1,最后才发现是昨天改了一点代码后,最初始的那个 sprite没有remove,导致始终有2个sprite共一个tag,这样删除时总是删掉了一个更早的。
2012-08-15 17:37:51
2379
原创 带IAP的APP提交注意事项
前两周公司的游戏接近完工,立刻就面对提交给apple审核的问题。结果碰到一个奇怪的问题,第一次是测试过的IAP由waiting for review变成rejected,而且也没有邮件通知原因,于是我就重新创建了一个,过了不久又rejected。发邮件给apple review的人,老板也亲自打电话联系apple的人员,他们回复说IAP必须在app状态为prepare to upload时才能提交
2012-06-13 14:32:47
4477
原创 IAP 无法提交review的问题
上周碰到一个奇怪的问题,app的测试IAP无法submit for review。在Manager In-app purchase页面选择IAP后,页面上端会出现一个提示“Note: Your first In-App Purchase(s) must be submitted with a new app version. Select them from the In-App Purchase
2012-05-28 16:59:44
3739
1
原创 cocos2d 截屏操作中断触屏操作的问题
当前的游戏项目中有个操作是将一个炸药包通过触屏操作放在玩家指定的位置,QA测试出一个bug是当玩家进行这个操作时,如果同时按下power+home键截屏,就会导致前一个操作被中断,炸药包悬浮在空中。一开始的解决思路是获取截屏的通知事件,然后进行处理。结果google一番后发现在iOS 4.0之前有个叫做PictureWasTakenNotification 的通知,但是后面版本没有了。
2012-05-22 15:53:27
1892
原创 越狱设备测试GameCenter出错
测试App的GameCenter功能,一部iTouch总是显示"This game is not recognized by game center.",而其它机器没有这个现象,找了一会儿原因,发现时因为iTouch 越狱导致的。引自网络“If your phone is jail broken it won't work. When you jailbreak, it forces ap
2012-05-17 12:23:23
2344
原创 Objective-C 与 C++ 互调笔记
今天为了给Alex写一个IAP和Game Center的Demo, 整理了一下IAP的程序。之前只有C++ 调用OC的方法,没有反向调用,这样几个SKProductsRequestDelegate和SKPaymentTransactionObserver的事件就无法通知到主程序端,主程序端就不能实时得到IAP的进度信息。为了解决这个问题,必须实现OC类对C++的回调。如果都是OC类,可以通过N
2012-04-05 16:48:07
3047
1
原创 使用cocos2d-x时解决iPhone屏幕自适应问题的一个思路
一般因为retina屏幕和普通屏幕分辨率不同而需要两套图片资源,普通和hd版。早上在模拟器上简单试了下,非retina模式,加载960x640的图片,获取layer的camera ,修改其eyeZ值,可以将layer缩放到跟屏幕适配。这样我们就可以只使用一套高清资源,在Retina模式下不去缩放layer,而在普通模式下将所有的layer缩小,就适配到普通屏幕了。 触摸坐标是否需要处理?
2012-03-13 10:53:29
2566
原创 工作笔记2012-3-8
1) Singleton类 声明 a) static ClassA sharedInstance; 与 b) static ClassA* sharedInstance区别如果ClassA的构造函数中调用其他static Class或全局变量的方法, a)方法可能会出错,因为全局变量的初始化顺序不明确2) 程序出错,通过注释代码来缩小错误范围,简单有效的查错方法
2012-03-08 16:19:21
1333
转载 (转)写代码如坐禅:你是哪一类程序员
看了这篇文章,发现非常适合自己。 原文链接见这里当编译占用你时间时你会怎么做。不只是编译,即使是在等待任何短暂的计算机操作结束,这段时间你会干些什么?和你的工作日休息比起来这点时间是微不足道的,但是总的来说它还是能对你的生产率和幸福感带来巨大帮助的。顺便说一下,这篇文章内容不是只针对开发者和程序的。它对任何使用电脑的聪明人都有效。后面还会附上图片。现在让我们开始
2012-02-23 11:48:20
1457
原创 cocos2d 中添加文字简记
参考链接三个类 CCLabelTTF, CCLabelBMFont, CCLabelAtlasCCLabelTTF 默认使用系统字体,也可添加自定义字体。每次调用setString时,一个新的OpenGL纹理将会被创建。当你需要频繁更新时,不要使用它CCLabelMBFont使用预先添加的自定义字体文件,使用scale属性进行缩放来调整大小。CCLabelAtlas 用于显示有限的
2012-02-23 11:44:34
1786
原创 判断一个点是否在多边形内部的问题
之前在工作面试时碰到一道题目就是如何判断一个点是否处于多边形内部。对于游戏程序员,应该是很初级的问题。当时我给的答案是用那个点连接所有的多边形顶点,然后将两边夹角加起来,如果和等于360度,则说明点处于多边形内部,否则就不在。后来在网上看到一种判断方法是,如果点在多边形内部,则该点对于所有的边线,应该都处于同一个边。 (仅讨论凸多边形)double value = (p.x - p
2012-02-17 15:21:22
2046
原创 tbb学习笔记(二):原子操作
使用原子操作可以避免互斥。当一个线程调用原子操作时,其他线程会视之为瞬间发生的。优点:相对于Lock速度快,且不会有死锁和convoying。缺点:原子操作只限于有限的几种操作。tbb中基本的原子操作如下表所谓的compare_and_swap操作如下代码所示:atomic globalx;int UpdatedX() { // Update x and ret
2012-01-31 00:15:22
2371
原创 Cocos2d 中 Box2D 使用笔记
使用Box2D基本步骤I) 创建一个world object( class b2World),这个world object将是Cocos2d中的用来管理其他所有对象和进行物理模拟的主要对象。II)创建Body 这一步又分为一下几个步骤 1)创建一个body definition来制定body的初始属性,比如位置和速度 2)通过调用world object的方
2012-01-31 00:14:33
1794
原创 QualComm AR 笔记
1) AR_EAGLView 提供虚拟物体的绘制2)OverlayView提供菜单3)VirtualButton 相当于在marker image上做标记,绘制特殊child物体 (之前理解有误),virtualButton是在虚拟view里画在真实图片之上的虚拟button,但是可以在真实世界里与之交互4) Dominoes 例子 演示了程序与用户交互,通过模型的变换进行简单动画效
2012-01-13 16:10:26
2208
原创 tbb学习笔记(一): tbb容器及Mutex
工作中用到过一些tbb,不过面试的时候别人一问就傻了,所以复习一下TBB的文档,并系统学习一下多线程编程。1) TBB containertbb容器中用到的concurrency支持技术:• Fine-grainedlocking: Multiple threads operate on the container by locking onlythose portions the
2012-01-11 16:49:02
4044
原创 C++学习笔记
11/4/16-01:如果你想禁止某些东西,就应该把完成它的操作定义为一个私用的成员函数。(the design and evolution of cpp)
2011-04-16 10:59:00
1749
原创 hash_map的使用备忘
Windows上定义一个类,重载两个操作符(此class 转自某csdn网友)class hash_comp { public: enum { bucket_size = 4, min_buckets = 8 }; bool operator () (const AcGePoint2d &p1,const Point &p2)const { if (p1.distanceTo(p2)
2011-04-15 15:31:00
1759
原创 qobject_cast--Qt的dynamic_cast
<br />今天给一些代码老外review,老外指出我写的dynamic_cast<QTXXXXX*>(pObject)的问题,告诉我要用qobject_cast。<br />查了下Qt的Assitant关于qobject_cast的介绍:<br />T qobject_cast ( QObject * object )<br />Returns the given object cast to type T if the object is of type T (or of a subclass)
2010-12-02 22:16:00
9673
原创 Qt强大的stylesheet功能之Selector
现在项目的GUI里style设置基本都通过stylesheet来做的,里面有几个比较好用的记下来。在Qt帮助文档里,stylesheet的语法里有通过selector来设置style的方法,其中有两个有意思的是:SelectorExampleExplanationProperty SelectorQPushButton[flat="false"]Matches instances of QPushButton that are not flat. You may use this selector
2010-11-20 13:59:00
2161
原创 QMenu上icon的大小设置
<br />昨天项目中遇到一个问题,就是弹出QMenu时,item上的icon太小,而且通过stylesheet还改不了,原来QMenu默认的icon最大是16px*16px。后来google了一下,在QtCenter.org找到解决方案---看这里 <br /><br />帖子很简单,大家都应该能看懂,这里主要是记一下,以免忘记。<br />问题症结:QMenu 使用 QPlastiqueStyle 里面默认使用QStyle::PM_SmallIconSize<br />解决办法:定义一个新的St
2010-11-20 13:39:00
8274
1
原创 窗体闪烁的问题
今天老外报了个defect,跟窗体闪烁相关的,不过俺是看了好几遍也没察觉到,但是既然老外提出来了,还是要认真对待。一个如下图的窗体,由父窗体Pop-up和两个子窗体Title & TreeList组成,父窗体的边框由默认函数绘制,Title比较简单,画上一段文字和两个图标,TreeList部分使用了双缓冲绘制。设置了断点后,观察到pop-up边框和Title先绘制完成然后TreeList绘制之前,
2009-03-17 22:03:00
1097
原创 XP主题风格的绘制
前段时间写一个MFC控件,在自己用GDI绘制的控件上放了几个Button,结果总有刷新时遮挡的问题,于是一怒之下决定自己画Button,如何画的像呢?这就涉及到了XP主题的绘制。Windows提供了一个叫“UXTHEME.DLL”的DLL,里面有各种跟主题相关的函数,我只用到了一个DrawThemeBackground()。使用方法就是DLL函数的调用方法,先OpenThemeData,再调用想要
2008-10-22 10:14:00
541
转载 zz Win32平台下的微软C编译器的对齐策略
这个问题经常搞糊涂,所谓经常,就是一直都没彻底搞清楚,几天看到一个帖子,里面有个很好的总结,转载一下 Win32平台下的微软C编译器(cl.exe for 80×86)的对齐策略: 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 备注:编译器在给结构体开辟空间时,首先找到结构体中最宽的基本数据类型,然后寻找内存地址能被该基本数据类型所整除的位置,作为结构体的首地址。将这
2008-10-21 21:59:00
680
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人