Cocos2D:塔防游戏制作之旅(七)
游戏 之旅 制作 cocos2d
2023-09-14 08:56:50 时间
用这3个变量,你可以创建多种不同类型的炮塔,它们可以有着不同的攻击属性,比如长距离重型攻击力,但是慢速攻击的炮塔,或者是渴望快速攻击但是攻击范围近的炮塔.
最后,代码包括了一个draw方法,它在炮塔周围绘制圆圈,用来显示调试目的的炮塔攻击范围.
该到了让玩家添加一些炮塔的时候了!
打开HelloWorldLayer.m文件,做出以下修改:
for( UITouch *touch in touches ) { CGPoint location = [touch locationInView: [touch view]]; location = [[CCDirector sharedDirector] convertToGL: location]; for(CCSprite * tb in towerBases) if( CGRectContainsPoint([tb boundingBox],location) [self canBuyTower] !tb.userData) //We will spend our gold later. Tower * tower = [Tower nodeWithTheGame:self location:tb.position]; [towers addObject:tower]; tb.userData = (__bridge void *)(tower); }
ccTouchesBegan:方法当用户在屏幕任意位置点击时调用.代码然后枚举towerBases数组去检查用户点击的位置是否在炮塔基座中.
但是在炮塔创建前,我们需要检查2件事:
用户的金币足够吗?canBuyTower方法将检查用户是否有足够的金币去购买炮塔.对于现在来说,你的玩家拥有无穷的金币,canBuyTowers总是返回YES. 玩家是否重叠建造炮塔?如果tb.UserData被设置,则表示该基座位置已经有一个炮塔了,所以你不能再其上建造新的炮塔了!
相关文章
- FC红白机游戏600合集for mac(小霸王游戏)中文版安装方法
- TypeScript 贪吃蛇游戏详细教程
- 【说站】狼人杀微信娱乐游戏小程序源码
- 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的
- 游戏如何限制程序多开
- 圣科塔尔 Saint Kotar for Mac(恐怖解谜游戏)v1.54中文版
- 为什么Python不适合写游戏?
- 【Unity3D】视图中心 ( 视图中心概念 | 围绕游戏物体旋转 | 添加游戏物体到游戏场景的位置 )
- 一个简单的抽奖转盘游戏详解编程语言
- Linux上的游戏之旅:让你的游戏梦想变成现实(linux设计游戏)
- 开发Linux游戏开发之旅(linux游戏)
- Linux玩转饥荒:搭建自己的游戏服务器(linux搭建饥荒服务器)
- 探索 PS4 游戏世界的 Linux 之旅(ps4linux)
- Linux上首款太空剧场级游戏’The Mandate’发布预告片!!
- Linux 内核 4.4 LTS 发布,可以在虚拟机中玩 OpenGL 游戏了
- 。MacOS上的伟大游戏之旅(macos大型游戏)
- 游戏服务器利用Redis提高性能(游戏服务器用redis吗)
- 外国友人自制 HoloLens 传送游戏,在家玩 AR 原来这么有趣!
- 网易推出AR游戏《悠梦》,除了好看的场景,他们聊了更多对AR内容的探索
- Android游戏开发实践之人物移动地图的平滑滚动处理