(NO.00001)iOS游戏SpeedBoy Lite成形记(三)
2023-09-14 08:56:50 时间
在Xcode中建立新类Player,继承自CCSprite.因为我们之后需要方便的更换玩家的大头贴,所以需要能够以不同的大头贴参数初始化Player对象.
不过别急,想想我们还需要在Player对象初始化中传入神马参数?一种可能是玩家的名字和编号.所以首先在Player接口中声明2个属性:
@property (nonatomic,strong) NSString *playerName; @property (nonatomic,assign) NSInteger playerNumber;
注意因为CCSprite中本身含有name属性,所以要用playerName,以免重复.
接下来在接口中写一个初始化方法声明:
-(instancetype)initWithName:(NSString*) playerName Number:(NSInteger)number andFrameNumber:(NSInteger)frameNumber;
打开Player.m文件,完成该方法的实现:
-(instancetype)initWithName:(NSString *)playerName Number:(NSInteger)number andFrameNumber:(NSInteger)frameNumber{ NSString *frameName = [NSString stringWithFormat:@"Images/player-0%d.png",frameNumber]; self = [super initWithImageNamed:frameName]; if (self) { self.playerName = playerName; self.playerNumber = number; return self; }
细心的童鞋可能发现上面调用的超类方法是 initWithImageNamed:,在这个例子中可能没什么影响,但是如果贴图巨多的情况下,可能恶化性能.所以还是使用精灵帧初始化,将其重构如下:
NSString *frameName = [NSString stringWithFormat:@"Images/player-0%d.png",frameNumber]; CCSpriteFrame *frame = [CCSpriteFrame frameWithImageNamed:frameName]; //self = [super initWithImageNamed:frameName]; self = [super initWithSpriteFrame:frame];
Player类的初始化方法基本写完了,下面回到GameScene中在didLoadFromCCB方法中添加如下代码:
for (int i = 0; i PlayerCount; i++) { NSString *playerName = [NSString stringWithFormat:@"Player%d",i+1]; player = [[Player alloc]initWithName:playerName Number:i+1 andFrameNumber:i%2+1]; [_track addChild:player]; [_players addObject:player]; [self initPlayPositon]; }
因为本猫暂时只画了2个大头贴,所以只能在这2个大头贴中循环了: i%2+1.
和iPhone玩家对战吧,Google Play游戏服务将支持iOS平台 Google今天在游戏开发者大会上宣布了若干与Google Play游戏服务的相关更新,其中和游戏玩家关系最大的也许就是Google Play Game Services将支持iOS平台,这也就意味着回合制和实时多人游戏将同时支持Android和iOS,以后这两个平台的玩家也就可以互动了。显然,这对于游戏开放商也是个好消息——让原本被割裂的用户参与到同场竞技中来。
本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例...
相关文章
- (NO.00005)iOS实现炸弹人游戏(八):游戏主角(一)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(七)
- (NO.00002)iOS游戏精灵战争雏形(十一)
- (NO.00002)iOS游戏精灵战争雏形(八)
- (NO.00002)iOS游戏精灵战争雏形(二)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(三十):增加排行榜功能3
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十四)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十一)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十五)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十四)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十一)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十)
- (NO.00001)iOS游戏SpeedBoy Lite成形记(五)
- Unity3d 显示IOS基本的游戏中心脚本
- iOS设计模式 - 模板
- 【IOS-COCOS2D游戏开发之九】讲解CCSPRITEBATCHNODE与TP工具的”.PVR.CCZ”,”.PLIST”共用的终极精灵优化及注意事项!
- 【IOS-COCOS2D游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧(指定开始帧)以及扩展COCOS2D源码的CCANIMATION简化动画创建!
- 【IOS-COCOS2D-X 游戏开发之六】使用BASE64算法对COCOS2DX自带CCUSERDEFAULT游戏存储数据编码加密!
- 【IOS-COCOS2D-X 游戏开发之十一】NEW CCSPRITE()带来的错误&使用CCUSERDEFAULT及PVR.CCZ在COCOS2DX中要注意!
- ios storyboard 获取storyboard中的viewController
- ios本地存储(swift版)查看真机沙盒 归解档 本地数据持久化
- ios-UI-汤姆猫德游戏实现