Fork me on GitHub

2012年4月7日

摘要: KVC很多人都知道,那么什么是KVO呢?Key Value Observing,直译为:基于键值的观察者。主要用于有关视图界面交互编程中,比如,实体(或者叫名词、或者叫域模型),在应用中表示名词的部分,类似Java中的Java Bean。再具体点儿,在下文的示例中。图书(Book类),就是个实体。它的属性有书名(name)和价格(price)。那么,在界面开发中,可能有多个视图和这个实体有关联。如果等实体(Book)的价格(price)发生了变化,这些关联的界面都要被修改。比较好的做法是使用观察者模式,各个界面都注册观察者,观察图书的价格变化,当变化后改动自己的视图。ObjC中提供了这个模式的 阅读全文
posted @ 2012-04-07 23:23 pengyingh 阅读(902) 评论(0) 推荐(0)
摘要: iOS 的本地通知(local notification)用于基于时间行为的通知,比如有关日历或者 todo 列表的小应用。另外应用如果在后台执行,iOS 允许它在受限的时间内运 行,它也会发现本地通知有用。比如,一个应用在后台运行,向应用的服务器端获取消息,当消息到达时,比如下载更新版本的提示消息,通过本地通知机制通知 用户。本地通知是UILocalNotification的实例,主要有三类属性:scheduled time,时间周期,用来指定iOS系统发送通知的日期和时间notification type,通知类型,包括警告信息、动作按钮的标题、应用图标上的badge(数字标记)和播放的声 阅读全文
posted @ 2012-04-07 23:18 pengyingh 阅读(2259) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/davintanger/article/details/6836089Cocos2d游戏中Class类说明是本文要介绍的内容,在cocos2d游戏开发中,主要用到的几个类:CCDirector 主要用于控制整个游戏流程中画面的切换,以及一些系统公共的配置。CCSprite -- 精灵类,主要是用于表示画面上的各个元素,如:玩家,敌人,炮弹等图片。CCSprite 里面主要包括:CCTexture2D,rect。其实cctexture纹理,就是表示一张图片。CCSpriteFrame 里面主要就是精灵帧,包括:CCTexture2D,rect。我们可以使 阅读全文
posted @ 2012-04-07 22:35 pengyingh 阅读(269) 评论(0) 推荐(0)
摘要: 让我们首先创建一个工程骨架--使用cocos2d工程模板创建一个新的项目并取名为AnimBear. 接下来,下载一些由我的老婆制作的熊行走的图片。(老婆会美工多好啊!) 当你解压之后,看看那些图片---它们仅仅是一张张单个的熊在行走的动画帧。但是,当你把它们连续地放映,就会看到一只熊在移动。现在,把这些图片加到工程里面,然后基于这些单个的图片来创建动画。然后,在cocos2d里面,还有另一种更加高效的方式来创建动画--那就是使用spritesheet。(也叫精灵表单)精灵表单和熊 如果你从来没有使用过spritesheet,你可以把它看作是一张巨大的图片,你可以把许许多多的sprite放... 阅读全文
posted @ 2012-04-07 22:28 pengyingh 阅读(17732) 评论(1) 推荐(0)
摘要: 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6779873 如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物理引擎的童鞋,肯定不方便,那么Himi今天为大家介绍另外一种不实用物理引擎实现CCSprite抛物线方式; 这里我直接将封装好的方法贴上来,注释都在代码中了:// 抛物线 -Himi //mSprite:需要做抛物线的精灵 //startPoi... 阅读全文
posted @ 2012-04-07 22:16 pengyingh 阅读(665) 评论(0) 推荐(0)
摘要: 距离上次发博客已经有两个月的时间过去了,期间好几次想抽出时间来写,最后却总是因为某些原因没动手。主要原因是最近确实太忙了,一边要做兼职游戏开发(full版,lite版,christmas版),一边还在给导师打工,做一个mes系统。每天从早上8点加班到晚上10点,回到学校都快11点了,确实太累了。所以,有点时间,我都在逛论坛,看文章。今天上午忙里偷闲,于是准备静下心来,谈一谈我的第一个iphone游戏开发的心得体会,跟大家分享一下。 关于我制作的游戏的内容,我上次在新浪微博上已经发了一个视频,公司美工比较给力,看起来游戏内容还不错。呵呵,心里还是比较开心的。这个游戏采用cocos2d和box2. 阅读全文
posted @ 2012-04-07 21:47 pengyingh 阅读(694) 评论(0) 推荐(0)
摘要: 在使用NSTimer的时候,如果我调用了invalidate,然后在使用isValid判断当前timer的状态,就会出现内存无效引用,程序崩溃。原因是,NSTimer是一个自动释放的对象,当调用invalidate的时候会自动把该对象释放掉,所以再调用isValid的时候就会提示引用无效地址了。解决的办法是在每次调用invalidate之后把该timer设置为nil,然后在要调用isValid的时候直接判断该timer是不是nil就ok了。苯方法,但是解决我的需求! 阅读全文
posted @ 2012-04-07 20:05 pengyingh 阅读(833) 评论(0) 推荐(0)
摘要: 今天在CocoaChina上面看到有人在问倒计时怎么做,记得以前在看Iphone31天的时候做过一个,今天翻出来运行不了了,原因是我的Iphone SDK升级到3.1了,以前使用的是2.2.1,在2.2.1里面是可以使用NSCalendarDate的,但是在3.1里面不能够使用,怎么办,只好用NSTimer了,最后还是给实现了。代码也比较简单,开始运行viewDidLoad的时候加载 [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil 阅读全文
posted @ 2012-04-07 19:14 pengyingh 阅读(474) 评论(0) 推荐(0)
摘要: http://wangzy-boy.iteye.com/blog/907141分享一个我用cocos2d加载图片的方式,其实很简单,我觉得还挺实用的首先要提醒一点,ihpone开发中所有的图片最好都是png格式的,虽然png格式的图片比jpg或其他的图片要大,但是png的图片在sdk中是做过优化处理的,是苹果推荐的格式,对这个格式支持也是相对好的.尤其是在最新4.2的sdk中,如果你有jpg的图片,并且比较大,在真机上是现实不出来的.最开始做项目,对cocos2d了解的比较少,添加一个CCSprite时,为了简单,就直接用CCSprite *sprite = [CCSprite spriteW 阅读全文
posted @ 2012-04-07 18:36 pengyingh 阅读(4496) 评论(0) 推荐(0)
摘要: http://www.eriching.com/2010/1213/347.html前几天遇到一个非常郁闷的问题:载入的图像在 iPhone 里面变模糊。这个问题折腾了近两天时间,期间尝试了各种载入方法、材质压缩工具,都无济于事 -_-#最后偶然发现材质的宽度和高度是奇数,突然想会不会是这个问题呢。没想到哥的灵感应验了=3=所以,材质的宽度和高度都得设定为偶数(也就是能被 2 整除)。由于我们的游戏支持 iPhone4 的高分辨率,因此原始材质的宽度和高度都必须能被 4 整除。这样从原始材质压缩一半后也能保持宽度和高度为偶数。 阅读全文
posted @ 2012-04-07 18:34 pengyingh 阅读(575) 评论(0) 推荐(0)
摘要: struct S1{char c;int i;};问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结果为8。Why为什么受伤的总是我请不要沮丧,我们来好好琢磨一下sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况:S1 s1 = { 'a', 0xFFFFFFFF };定义上面的变量后,加上断点,运行程序,观察s1所在的内存,你发现了什么以我的VC6.0为例,s1的地址为 阅读全文
posted @ 2012-04-07 17:55 pengyingh 阅读(854) 评论(0) 推荐(0)
摘要: 强悍的%02d,解决输出问题,节约代码,事半功倍printf("%d-%02d-%02d %s\n",years,months,days,p[week]);char *p[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};%02d好强啊,省了好多代码。宽度为2,不足左补0.我以前从来不知道! 阅读全文
posted @ 2012-04-07 17:01 pengyingh 阅读(270) 评论(0) 推荐(0)
摘要: http://blog.sina.com.cn/s/blog_5e6fbd010100c58s.html我一下讨论的都是在不用return把值进行返回的情况, 也就是说用指针的情况。很简单就是指针和引用,引用在新版本的c里面也有包含,可以使用。系统xp+ide用的 vc6.0:要把一个值通过调用函数改变,可以用指针和引用,这个值可以是int int *,char char*,或者说是结构体,结构体也有不同的情况,比如说,结构里面有结构体指针和没有的情况,这里我将就我的经历写一下。先看看人家的比较好的说法: void func1( MYCLASS *&pBuildingElement ) 阅读全文
posted @ 2012-04-07 17:01 pengyingh 阅读(967) 评论(0) 推荐(0)
摘要: http://www.cnblogs.com/pinping/archive/2011/11/09/2243283.html相信大家在用COCOS2D在做需要多国语言的游戏的时候!给CCMenuItemFont 加上背景图片。一般都是使用CCMenuItemImage!虽然也是可以解决!但是图片太多那!而且在使用内存使用量也加大那。上教程:没背景的CCMenuItemFont太难看那!!!代码很简单:[CCMenuItemFontsetFontName:@"American Typewriter"];[CCMenuItemFontsetFontSize:22];CCSpri 阅读全文
posted @ 2012-04-07 08:52 pengyingh 阅读(1020) 评论(0) 推荐(0)

导航