(NO.00002)iOS游戏精灵战争雏形(四)】的更多相关文章

在Xcode打开MainScene,添加初始化代码如下: -(void)didLoadFromCCB{ NSAssert(_sprite1, @"_sprite1 must not nil"); _physics.debugDraw = YES; _sprite1.position = ccp(0.4,0.3); CCActionMoveTo *move = [CCActionMoveTo actionWithDuration:5 position:ccp(0.8, 0.8)]; [_…
原本想做一个复杂点的平面动作游戏,可以觉得还是有点把握不了.还是先从简单的原型开始吧. 构思中的精灵战争(SpriteWar)是一个类似FC时代的小游戏,可以造兵,可以捕获敌兵.原本还想加上保卫老巢的.但是咱们还是先从最基本的元素开始实现吧. 本游戏雏形要实现的功能大致如下: 1.精灵在平面中自由移动到触摸位置,也可以手指按住精灵将其拖动到指定位置. 2.精灵在移动中遇到障碍物 3.精灵发射子弹 4.子弹如何击中目标,也就是敌方精灵 5.一些游戏效果的实现,比如子弹打中目标后的爆炸效果 我们从0…
首先要声明的是,前几篇实现的shoot方法不是一定会命中目标,这取决于目标运行的速度,子弹的速度,子弹发射的时机以及弹道路径中是否有障碍物等等. 这也是符合实际情况的.如果你的要求是一旦发出子弹必定击中目标,那么代码逻辑就会完全不一样. 但这不是本章要说的事儿.本章进一步完善子弹击中目标后的爆炸效果. 首先打开SpriteBuilder,在Sprites文件夹中新增Explode.ccb文件,类型为粒子节点.按照下图设置好粒子系统属性: 其他属性皆为默认.可以按Start Particles按钮…
在SpriteBuilder中新建Images文件夹,将所需要的图片素材全部拖入其中: 别忘了将其转换为智能精灵图表文件夹. 因为我们不需要为ipad和安卓设计,所以在项目设置里将所有出iphone以外的选项都勾掉: 在SpriteBuilder中再新建Obstacle文件夹,在其中添加3种类型的墙,2种用来遮挡x轴和y轴,另一种作为游戏里的障碍物.其实这里可以有很多种做法,只要达到目的即可. 首先建立x轴遮拦墙,新建类型为Node的CCB文件,拖入一个CCNodeColor到其Root节点中去…
为了在子弹触碰到目标时做一些事情,我们必须要设置碰撞回调. 首先在MainScene.h的类接口中添加碰撞协议: @interface MainScene : CCNode <CCPhysicsCollisionDelegate> @end 接下来在类初始化中设置碰撞代理: _physics.collisionDelegate = self; 然后就可以设置碰撞回调函数了.至于其中的具体规则不是短短几句话能说清楚的,现在只要知道,我们可以根据不同的碰撞类来分别处理碰撞,即可以设置多个碰撞回调函…
子弹的初始化工作前2篇基本做好了,下面就是如何射出子弹. 通常来说,子弹射向目标对象,需要走一条直线.直线由2点定位,分别为发射点和目标点. 发射点就是开枪精灵自身的位置,目标点则为敌方精灵的位置,大致如下图所示: 由初中物理力学原理可知,要想子弹沿中间橙色路径飞行,需要在子弹上附加(x,y)的力矩.大概是这个意思,物理好的童鞋可以自行理解.物理不好的童鞋,我也救不了你们 ;) 现在就是要找到(x,y)的值?从上图中可以发现x恰好等于红精灵位置x值与绿精灵位置x值的差,y值与此相同,于是我们得到…
接下来我们给MainScene场景再添加一个精灵,作为敌人. 双击SpriteBuilder中的MainScene.ccb,从控件库拖入一个CCSprite到CCPhysicsNode中,设置精灵帧为一个不同的大头贴;设置自定义类为Player,代码连结名称为_sprite2;打开对应的物理对象,设置内容和_sprite1类似: 有了敌人就可以完成射击功能了. 我们还要在SpriteBuilder中添加一个Bullet.ccb文件,类型为CCSprite.需要做的主要工作就是打开物理对象,调整碰…
完成了精灵自己移动之后,我们开始着手实现按住精灵拖动的功能. 要想处理触摸事件,我们需要做2件事: 1.在类的初始化中打开触摸接收属性 2.实现触摸处理回调方法 我们依次来做这2件事. 首先要搞清楚在哪里打开触摸接收.是在MainScene场景中吗?也不是不可以,但是那样你必须要判断触摸位置是否在精灵节点上,然后再调整精灵的位置. 我们这里直接在精灵的Player类中开启触摸.首先在Player的初始化方法中开启触摸: -(void)didLoadFromCCB{ self.userIntera…
在Sprite中新建Sprites文件夹,在其中添加Player.cc文件,确保其类型为Sprite. 将其Root节点的CCSprite的精灵帧设置为Image/sprite-2.png,然后打开物理对象,调整Physics shape类型为Circle,同时调整圆半径以和节点图片大小相匹配,设置该物理对象的类型为动态. 设置Player根节点的自定义类为Player. 双击打开MainScene.ccb文件,将x和y遮蔽墙和障碍物墙拖入场景,并调整其至合适位置: 连接红色精灵到代码的名称为_…
到目前为止,子弹是有去无回.如果子弹击中目标或者飞出屏幕,那么子弹也就没必要存在了. 这里的不存在不是把它从屏幕中删除,因为前面提到了子弹缓存的作用,所以这里仅仅将其设置为不可见就可以了. 首先处理飞出屏幕的子弹,在MainScene.m中添加update方法如下: -(void)update:(CCTime)delta{ for (CCSprite *bullet in _bullets) { if (bullet.visible) { if (bullet.position.x <= 0 |…
打开MainScene.m,添加shoot方法: //子弹速度现在和目标距离相关,越近速度越慢,反之越快.应该修改为恒定速度. -(void)shoot:(CCNode*)player target:(CGPoint)point{ CGPoint velocity = ccpSub(point, player.position); velocity = ccpMult(velocity, 50); if (ABS(velocity.x) < 20 || ABS(velocity.y) < 20…
接上一篇博文,我们继续完成射击的功能. 还是在MainScene.m中,添加initBullets方法: -(void)initBullets{ CCSprite *bullet; for (int i = 0; i < MAX_BULLET_COUNT; i++) { bullet = (CCSprite*)[CCBReader load:@"Sprites/Bullet"]; bullet.positionType = CCPositionTypeNormalized; bu…
游戏源码   一款休闲类的音乐小游戏源码 该源码实现了一款休闲类的音乐小游戏源码,该游戏的源码很简单,而且游戏的玩法也很容易学会,只要我们点击视图中的grid,就可以 人气:2943运行环境:/Xcode 4.3, iOS 5.0 软件大小:3.06 MB 更新日期:2013-09-14  共享源码 恶魔城游戏源码完整版 该源码是恶魔城游戏源码,游戏的源码比较完整,而且也很清晰,界面设计也非常不错,游戏的实现主要是采用了cocos2d-iPhone来实现 人气:4920运行环境:/Xcode 4…
Swift版iOS游戏框架Sprite Kit基础教程下册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C 介绍:本教程是国内唯一的Swift版的Spritekit教程.本教程基于Xcode 6.1+iOS 8.1开发环境,采用Swift语言,详细讲解Sprite Kit游戏开发的各种知识,帮助读者尽快iOS游戏开发的技能. 目录   第7章  音频和视频 1 7.1  背景音乐 1 7.1.1  添加背景音乐 1 7.1.2  控制背景音乐 5 7.1.3  设置…
http://www.j1f3.com/news/game/21371.html 今年3月初写过一篇<iO平台游戏安全小议>,到现今已有7个月了.在这段时间内,iOS平台上的安全问题也产生了不小的变化.从作弊方式来说,从以前稍有门槛的手工操作(命令行操作)发展成了傻瓜式的只需要点击按钮的外挂工具的普及,使得作弊方式可以大量的泛滥.从防御方式来说,发展虽然缓慢,但也有了一定的有效对策. 游戏,无论是运行在哪个平台,PC机,掌机,街机,电视还是手机上?无论是单机,弱联网的,强联网的?无论是否具备客…
终于要写这篇了,上一篇是个意外. 2015年关注,一代鬼王Xun和GGL比赛.晚上11点之后,经常有水友赛.主播xun,会带着一帮小弟,玩一些游戏.比如魔兽争霸6v6,2v2,RPG游戏-军团战争,疯狂的聚会,金字塔等等. 其中,军团战争,我玩得相对好一点.毕竟,论操作,被人碾压啊.论智商和学习能力,小雷还是有的. 从最初的,被主播惨虐和鄙视,到现在虐主播,也经常在QQ对战平台和网友一起切磋,欢乐还是很多的.      从此,军团战争,成为了我平时经常玩的休闲游戏了.年末的时候,斗地主玩得多一些…
iOS 导出 ipa 包时 四个选项的意义 如图  在 iOS 到处 ipa包的时候 会有四个选项 1.Save for iOS App Store Deployment 保存到本地 准备上传App Store 或者在越狱的iOS设备上使用 2.Save for Ad Hoc Deployment 保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编译的(The app will be code signed with the dis…
iOS开发Swift篇—(四)运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符:++.-- 比较运算符:==.!=.>.<.>=.<= 逻辑运算符:&&.||.! 三目运算符:? : 范围运算符:..< .... 溢出运算符:&+.&-.&*.&/.&% 2.赋值运算符 (1)1对1赋值 var a =…
swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3  注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在开发应用程序时会受到了很多的限制,如真机测试等,所以需要注册一个非免费的苹果账号.以下是注册非免费的苹果账号的具体步骤本文选自iOS游戏框架Sprite Kit基础教程: (1)在Safari中输入网址(https://developer.apple.com/programs/),按下回车,如图1.…
开发者经验谈:如何一天时间搞定iOS游戏开发? 在一天时间里将完成iPhone游戏开发由梦想变为现实? 本文作者给出了从创意转变成现实的详细答案.使用苹果原生游戏引擎SpriteKit,遵循一定的原则可以保证开发顺利进行,最大程度避免意外情况的发生. CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用.开发工具.移动游戏及引擎.智能硬件.物联网等方方面面.如果您想投稿.参与内容翻译工作,或寻求近匠报道,请发送邮件至tangxy#csdn.net(请把#改成…
ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Delegate来传递. IOS开发使用委托delegate在不同窗口之间传递数据是本文要介绍的内容,主要是来讲解如何使用委托delegate在不同窗口之间传递数据,具体内容来看详细内容.在IOS开发里两个UIView窗口之间传递参数方法有很多,比如 前面3种方法,暂且不说,这次主要学习如何使用通过Dele…
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9327377 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 这篇文章里有一个问题,可能会使一些同学感到困惑:在大家进行键盘操作后,改变了人物的位置,但是并没有刷新画面,按道理来说应该是看到不到人物的位置改变的(大家看到的还是之前的画…
http://game.dapps.net/gamedev/experience/889.html 创造出<Temple Run>的夫妻团队在高峰时期每天能够获得"好几万"美元的收益:<新星足球>开发者Simon Read也一度攀上每天收益5千英镑的好成绩.这些成功的案例都暗示着,对于充满抱负的游戏开发者来说,App Store是最容易且最赚钱的营销平台.我们邀请了<Warhammer Quest>开发工作室Rodeo Games的成员以及<G…
Unity3d开发IOS游戏 基础 @阿龙 -  649998群 1.先说明两个问题,我在WIN7下面的U3D里面,用了雅黑字体,但是导出为ios后,字体就看不见了,这是为什么呢?这是需要在MAC下找系统自带的字体,字体在这儿找!->->右键在“Finder”中显示,然后拷贝出来,放到U3D的Assets文件夹里面!这样就可以了! 2.就是我之前用的IGUI的版本低,UI控件的背景图片大部份看不见,或者变形,这是因为 格式选择的是“自动压缩”也就是第一项,所以大家要注意这个选项!…
今天亲自尝试了LibGDX如何开发ios游戏, 必须条件: 1:mac操作系统,mac下必须安装Xcode     好像ios开发必须在mac操作系统下 2:mac下安装eclipse 3:eclipse安装robovm插件,插件地址http://download.robovm.org/eclipse/ 运行步骤: 将项目导入eclipse Run as就可以了…
游戏UI框架设计(四) --模态窗体管理 我们在开发UI窗体时,对于"弹出窗体"往往因为需要玩家优先处理弹出小窗体,则要求玩家不能(无法)点击"父窗体",这种窗体就是典型的"模态窗体".在此笔者设计了四种模式类型:完全透明.半透明.低透明度.透明且可以穿透. (透明不能穿透) (半透明不能穿透) (低透明度,不能穿透) 对于"模态窗体"的基本实现原理是: 在弹出窗体的后面增加一层"UI遮罩窗体",当需要弹出…
这是本猫第一个原创iOS游戏,留此为证!看编号貌似要写9万多个,千锤百炼还是太少吧!? ;) 这是一个赛跑游戏,几位选手从起点跑到终点看谁用的时间最少.现在需要实现的功能是: 1.8位选手从起点移动至终点 2.到终点后记录每位选手所用的时间 第一步不是写代码,而是画素材,因为是原创,所以游戏人物和比赛跑道也需要自己打造.首先用Ai画一个简单的跑道,共有两场图分辨率分别为1036x640(iphone 5+)和960x640(iphone 4s),没打算在ipad上跑,所以2张就够了: 接着是选手…
Unity 2D游戏开发教程之游戏精灵的开火状态 精灵的开火状态 “开火”就是发射子弹的意思,在战争类型的电影或者电视剧中,主角们就爱这么说!本节打算为精灵添加发射子弹的能力.因为本游戏在后面会引入敌人,而精灵最好具备开火的能力,否则会被敌人轻易干掉!具体的实现方法是: (1)导入一个表示子弹的图片到Unity,本示例中选用的子弹图片,名为PlayerBullet,如图2-23所示.   图2-23  导入到游戏项目的表示子弹的图片 (2)拖动此图片到Scene视图,即可在当前的游戏场景中添加此…
需求分析: 作为以需求为驱动的IT公司,有再奇怪的需求都不奇怪,所以“24小时循测第三方应用”这样的需求也可以接受.业务需求重点为: 1.24小时循测 2.无人值守,自动完成 3.自动界面操作(点击.滑动.输入) 4.比较每个页面是否有bug显示   技术分析: 根据以上业务需求做技术分析: 1.Andriod上自动界面操作.截图可以使用内置adb命令来完成,一台PC链接多台手机,驱动adb命令完成. 2.iOS上在越狱手机上实现自动界面操作.截图,通过socket驱动完成.    技术实现:…
iOS游戏开发之UIDynamic 简介 什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞等现象 物理引擎的价值 广泛用于游戏开发,经典成功案例是“愤怒的小鸟” 让开发人员可以在远离物理学公式的情况下,实现炫酷的物理仿真效果 提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏 知名的2D物理引擎 Box2d Chipmunk 使用步骤 要想使用UIDynamic来实现物理仿…