摘要: 在上一节里,在头文件看到 定义了一个CCSpriteBatchNode* batchNode;,在addEnemy方法里看到batchNode->addChild(enemy); 新建的敌机不是add到layer上,而是add到CCSpriteBatchNode 上,关于CCSpriteBatchNode 的了解这里不多说,网上大把,下面说说CCSpriteBatchNode 在这里的应用。1、通过CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(const char *pszPlist) 读 阅读全文
posted @ 2013-12-25 15:01 仙外仙 阅读(4178) 评论(0) 推荐(0) 编辑
摘要: Enemy类没什么内容,就create和init方法,根据参数来创建不同的敌机,头文件代码如下: 1 //飞机的类型 2 enum planeType {smallPlane, midPlane, bigPlane}; 3 4 class Enemy : public CCSprite 5 { 6 7 public: 8 9 void loseLife();10 11 CC_SYNTHESIZE(float, m_speed, Speed);12 CC_SYNTHESIZE(int, m_life, Life);13 CC_SYNTHESIZE(i... 阅读全文
posted @ 2013-12-25 14:15 仙外仙 阅读(2059) 评论(0) 推荐(0) 编辑
摘要: HeroLayer类主要是处理hero的一些相关东西,以及调用bulletLayer的一些方法,因为子弹是附属于hero的~~HeroLayer 类的成员如下: 1 class HeroLayer : public CCLayer 2 { 3 public: 4 5 static HeroLayer* create(); 6 virtual bool init(); 7 8 virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);//触摸事件 9 void moveHero(CCPoint ... 阅读全文
posted @ 2013-12-25 11:45 仙外仙 阅读(3702) 评论(0) 推荐(0) 编辑
摘要: BulletLayer.h 内容如下 1 class BulletLayer : public cocos2d::CCLayer 2 { 3 4 public: 5 6 CC_SYNTHESIZE(bool, m_IsHeroLive, IsHeroLive);//hero活着的时候才发射子弹。。。 7 8 CCArray *m_bullets;//存储发射的子弹 9 CCNode* pParent;//在类初始化的时候会把Hero赋给它他,因为子弹要根据hero来确定发射的位置10 CCSpriteBatchNode* batchNode; //... 阅读全文
posted @ 2013-12-25 10:56 仙外仙 阅读(3251) 评论(0) 推荐(0) 编辑
摘要: 最近在学习cocos2dx引擎,版本是2.1.3,开发环境是win7 + vs2010,模仿微信打飞机游戏,开发中参考了 csdn 偶尔e网事 的系列文章:http://blog.csdn.net/column/details/jackyairplane.html。项目结构如下红色框的表示场景,主要用到四个场景:MainMenuScene表示主场景,也就只是提供三个标签:开始游戏,退出,设置;LoadingScene 表示加载场景,把一些图片、声音资源和一些动画提前做好预先加载到缓存里;GameScene 表示游戏主场景,最重要功能的是进行碰撞检测,游戏大部分时间在这里度过;GameOver 阅读全文
posted @ 2013-12-25 10:17 仙外仙 阅读(3564) 评论(0) 推荐(1) 编辑
摘要: - (IBAction)btnClick:(id)sender { UITabBarController *tabBarCtrl = [[[UITabBarController alloc] init]autorelease]; UITabBarItem *tabbarItemA = [[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:0]autorelease]; tabbarItemA.badgeValue = @"2"; UITabB... 阅读全文
posted @ 2013-09-28 23:37 仙外仙 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 关于对C#多线程类Monitor的理解1、对线程的理解围绕着锁周围的线程可以分为以下三类:l 拥有锁的线程:只有一个l 就绪队列:只有就绪队列里的线程才有机会在锁被释放时去获取锁。l 等待队列:没有资格去获取锁。2、Monitor.Wait(obj)方法当线程调用 Wait 时,它释放对象的锁并进入对象的等待队列,对象的就绪队列中的下一个线程(如果有)获取锁并拥有对对象的独占使用。Wait(obj)就是交出锁的使用权,把自己移到等待队列里,处于阻塞状态,当再次获得锁时(得先收到脉冲信号移动到就绪队列然后其他线程释放锁)返回true并且线程继续执行,否则不返回一直阻塞。3、Monitor.Pul 阅读全文
posted @ 2013-09-06 16:00 仙外仙 阅读(2774) 评论(0) 推荐(0) 编辑
摘要: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 7 namespace ThreadTest 8 { 9 class Program 10 { 11 static void DoWork() 12 { 13 Console.WriteLine("DoWork is begin"); 14 15 ... 阅读全文
posted @ 2013-08-29 17:32 仙外仙 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 2013.10.05补充 参考自 http://www.cnblogs.com/chinapcc/archive/2013/04/03/2673092.html要把自定义类保存到plist文件里,要注意一下三点:1、自定义类要继承NSCoding协议,实现 -(void)encodeWithCoder:(NSCoder *)coder 方法和 - (id) initWithCoder: (NSCoder *)coder方法2、在写入plist文件时要对数据序列化然后写入:[NSKeyedArchiver archiveRootObject:array toFile:filename];arra 阅读全文
posted @ 2013-01-29 21:19 仙外仙 阅读(5178) 评论(0) 推荐(0) 编辑
摘要: 1 #import <UIKit/UIKit.h> 2 3 @interface TWFXViewController : UIViewController 4 5 @property (retain,nonatomic) NSMutableData *weatherData; 6 7 @property (retain, nonatomic) IBOutlet UILabel *outlet_weatherInfo; 8 9 - (IBAction)btnClick_getWeather:(UIButton *)sender;10 11 @end 1 // 2 // TWFX.. 阅读全文
posted @ 2013-01-25 21:16 仙外仙 阅读(6159) 评论(0) 推荐(0) 编辑