大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 本系列来实现一个儿时就很喜欢的打砖块游戏,我记得以前红白机上有一款,画面类似如下: 玩起来的效果和下面类似: 在本篇教程中将利用物理引擎来实现整个游戏,全部素材都由本猫打造,自然不能期望过高. 打砖块游戏3要素:砖块,球和反弹棒.我们来依次制作它们. 制作砖块 首先是砖块,打开Ai,画一个简单的矩形,并设置好阴影效果.砖块的尺寸这里就得想好,我使用的是80x30…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇我们完成了导弹道具相关的道具制作,本篇中我们来完成其实现代码 首先我们在Star.m的spawnStar方法中添加如下代码: case brkColorPoolBlue: star = [Star starWithType:starTypeStickShoot]; break; 接着打开GameScene.m文件,在星星和反弹棒的碰撞处理方法中添加如下处…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇中我们实现了3球道具,但是好像还是不过瘾,如果能让反弹棒更具"攻击性"就好了,那么本篇中我们就让它发射导弹直接击毁砖块吧! 导弹道具的功能 我们要实现如下功能: 反弹棒接触到导弹道具星后"长出"一根炮管 该炮管定时向前方发射导弹 导弹碰到砖块则将其击毁,否则飞出屏幕自动销毁 一定时间后炮管消失,导弹发射也随之停止 让棒棒上长出…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 准备缩短反弹棒素材 和上一篇类似,我们如法炮制一张缩短后反弹棒的素材. 打开SpriteBuilder,新建StickShorter.ccb文件,按下图绘制其sprite帧和物理对象: 注意,在Ai中缩小和放大原来反弹棒的图片时,只要沿X轴一个方向放大即可,否则在Y轴方向也会变大,这就不是我们想要的了. 创建缩短道具星 我们用红色的星星表示缩短道具,所以spaw…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打砖块游戏另一个要素是反弹棒,我们在这篇类来实现反弹棒类. 创建反弹棒类头文件 在Xcode中新建Stick类,在头文件中添加如下内容: #import "CCSprite.h" @interface Stick : CCSprite +(instancetype)stickNormal; -(void)moveStickTo:(CGPoint)loc…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 反弹棒变化道具实现前面已经介绍过了,我们下面可以在小球上做些文章,实现一个道具可以变出更多的小球出来. 我们称之为3球道具:当反弹棒碰到该道具时,小球变为3枚,接下来你尽可能保持这些小球不掉落,这样你可以得到比1个球时更多地分数. 打开Xcode,在Star.m中的spawnStar方法条件中加入新的分支: case brkColorPurple: star =…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 通用的星星类已经完成了,下面我们来实现具体的变长和缩短道具. 变长的反弹棒 我们想实现如下功能:在掉落变长星之后,如果反弹棒接到它,则使反弹棒的长度变为原先的2倍. 看似很简单,但实际有一个问题.你不能仅仅延长反弹棒精灵纹理的长度,因为你在这个游戏中使用的是物理引擎,反弹棒的物理对象的大小是不可以在游戏运行中随意变化的. 所以我们需要想办法延长反弹棒的物理大小,…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在一个基本的游戏逻辑已经搭建好了,但是感觉还是缺点什么呢? 蠢蠢的这样一直打下去你有意思吗? 怎能让无聊这样的发生!在本篇博文中,就让我们来添加2个道具:变长和变短星星.但是在创建各种不同功能的道具之前,我们必须先创建出星星来. 创建星星精灵 道具是以星星显示的,这样只要简单的改变星星的颜色就可以区分不同道具了.其实对于每个不同道具应该用更符合其功能的图片来表…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 到目前为止游戏基本可玩,但是砖块数量是不变的,等玩家打光所有的砖块就会觉得没啥意思了,所以我们必须想办法添加更多的砖块进来. 创建循环保持颜色的实例变量 我们想要按行添加砖块,为了美观,每行砖块的颜色应该都是不同的.所以我们先来建立一个保持当前砖块颜色的实例变量: NSInteger _currentBrickColor; 当然还有一个更新其值的方法: -(vo…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 前一篇博文介绍了物理对象中小球与砖块的碰撞处理,在这一篇中我们再来看一下小球与反弹棒碰撞发生的那点事 ;) 小球与反弹棒开始碰撞 同样我们在碰撞中也要调整小球的力矩,所以也要分开处理,首先是碰撞开始时的处理: -(BOOL)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair ball:(CCNode *)…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在回到GameScene.m中,我们所有的碰撞处理就放在该类中.我们首先要搞清楚什么会和什么碰撞.就目前来说,我们先来实现2中碰撞:小球和砖块的碰撞,以及小球和反弹棒的碰撞. 小球和砖块的碰撞:碰撞开始 我们知道一般物理引擎对于碰撞的处理不是一蹴而就的,它分为多个阶段.在Chipmunk中将碰撞按照时间的前后分为开始和后续两个部分;不是在所有的碰撞处理中都要关…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 关卡游戏的精髓都集中在游戏的关卡里,其中包含了游戏的所有要素,至于关卡如何管理这些要素这得根据不同游戏想要的效果来决定.我们开始先从在关卡中建立砖块,小球和反弹棒3个元素做起. 创建关卡类 在Xcode中创建Level类,继承于CCNode类.修改头文件为如下内容: #import "CCNode.h" @interface Level : CCNod…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 创建游戏场景类头文件 在Xcode创建新GameScene类,继承于CCNode,将其头文件替换为以下内容: #import "CCNode.h" @class Stick; @interface GameScene : CCNode <CCPhysicsCollisionDelegate> //读取GameScene中Level中的反弹棒…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 用Xcode打开之前SpriteBuilder创建的项目,我们现在是时候写点代码了 ;) 创建Brick类头文件 新建一个Brick类,继承自CCSprite,打开Brick.h文件添加初始化类方法: +(instancetype)brickWithColor:(BrickColor)color; 因为我们要产生各种颜色的砖块所以有必要写一个枚举来区分,新建一个…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 制作墙体 首先在SpriteBuilder中新建Wall.ccb文件,作为屏幕边界上的墙,阻挡小球或者道具飞出屏幕,制作方法在之前都有详述,所以这里不做过多介绍: 制作游戏关卡 新建Level1.ccb文件,按照实际情况用上面制作的墙体将其包围住,只留最下面为空,以便让物体掉落: 注意上图最下方红色矩形是触发器,后面会提及. 制作游戏场景 在SpriteBuil…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个内容不错的游戏也要一个好的包装.玩家进入游戏时第一眼看到的是将是游戏的主界面,如何生动的展示一个具有吸引力的界面就是本篇的主题.当然这里无法和商业游戏的主界面相比的,只是展示一下不用写什么代码,也可以把主界面做的比较活泼. 在主界面上添加静态元素 打开SpriteBuilder中的MainScene.ccb文件,将原有控件统统删掉,这时场景变得黑漆漆的一片.…
小伙伴们,苹果终于在今天凌晨推送了 iOS 8 的正式版.虽然该系统并未与 iPhone6 发布会同时亮相,但对于已经提前体验尝鲜过测试版的同学来说并不陌生.iOS 8 几乎每个图标都进行了重新设计,即使是不那么显眼的后退按钮.这里就给大家分享最新的 iOS 8 矢量 UI 素材套件,可以免费下载使用. 立即去下载      素材主页 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页…
Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面 关于欢迎界面 很多App第一次启动都会有一个欢迎界面,欢迎界面往往决定这用户对App的第一映像,所以欢迎界面的重要性不言而喻.QQ.微博.知乎等App都有制作精良的欢迎界面. 大多数欢迎界面由几个界面组成,通常界面上会有一张背景图和简单的介绍文字,页面直接的切换类似于Android的ViewPager一样,靠左右滑动来切换.通常会提供了一个Skip按钮来让用户跳过欢迎界面. 本文将告诉你如何制作一个…
来源:scauos(@大朕东) 链接:http://www.jianshu.com/p/b30785bb6c97 开头语: 今天的主题是探索iOS10 SceneKit的新功能,你可以观看今年WWDC的视频Advances in SceneKit Rendering SceneKit 介绍,SceneKit类似于Unity是一个制作3D物件的框架,很多3D游戏都可以基于这个框架进行开发,自几年前和Swift一起推出到现在广受欢迎.比如今年推出的Swift Playground就有用到SceneK…
转自 http://blog.csdn.net/jinglijun/article/details/8276089 通常在项目中使用静态库的时候都会有两个版本,一个用于模拟器,一个用于真机,因为Mac和iPhone的CPU不同,才造成了这种情况. 为了模拟器与真机之间切换调试的方便,制作通用版本非常有必要. 现在有两个版本的静态库libSQLite_i386.a(模拟器)与libSQLite_arm.a(真机). 1.打开终端,进入到这两个文件所在的目录: 2.执行:lipo -create l…
当你需要和别人分享代码,但又不想让别人看到你内部的实现时就需要制作静态库,通常用于第三方SDK 下面就分享一下制作静态库(.a)的过程: 1.打开Xcode,新建workspace 2.随便给workspace取个名字 3.在workspace新建工程 4.选择静态库 5.点击下一步 6.删除系统自动帮你生成的文件 7.引入需要制作成静态库的代码文件 8.添加build headers 9.点击后出出现一个可以添加头文件的选项 10.添加要暴露给外界的头文件 11.调整头文件的位置,拖到publ…
新换了台Macbook,又折腾了一遍Provisioning Profile证书,苹果的证书繁锁复杂,每次制作都相当麻烦,而且Provisioning Profile证书是与设备绑定的,所以更换开发环境后需要重新制作. Provisioning Profile证书这个东西是很有苹果特色的一个东西,一般称之为PP证书,该证书将AppID.开发者证书和设备绑定到一起. 删除原有Provisioning Profile: 如果原有Provisioning Profile证书在其他设备还有用,可忽略此步…
- (IBAction)creatQRImage:(id)sender { [self.textField resignFirstResponder]; //这里是我放了个TextField的控件,但我们没有输入值得时候就返回 if (self.textField.text.length ==0) { return; } // 1.创建过滤器:做二维码还是条形码的关键CIQRCodeGenerator CIFilter *filter = [CIFilter filterWithName:@"C…
今天还在看环信的使用方法,在环信的官网上发现了这组制作远程推送证书的一组图片,正好之前本人没有写过关于远程证书的笔记,这里要写一篇博文,整理一下远程推送证书的制作流程,尽管如此,本篇博文依然是作者原创,方便自己学习.参考使用.(声明本文的图片全部来自网络,是为了节省时间) (1)打开开发者中心,并登陆自己的开发者账号(或者公司的开发者账号) (2)从Member Center进入Certificates, Identifiers & Profiles (3)选择要制作的证书为推送证书 对于开发环…
iOS开发:推送通知简述及开发实践热度 1已有 706 次阅读 2013-10-15 09:23 |个人分类:经验之谈|系统分类:ios| IOS, 推送一.关于推送通知 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的.一般说来,当要显示消息或下载数据的时候,通知是由远程服务器(程序的提供者)发送,然后通过苹果的推送通知服务(Apple Push Notification Servic…
什么是环信? 1.环信是一个第三平台,提供即时通信(IM–Instant Messaging )的服务 2.环信是在XMPP的基础上进行二次开发 3.环信在网络上传输的数据也是XML 4.使用环信,不用自己搭建服务器,节约成本 5.环信日活30万以下,永远免费 为什么要选择环信? 数据来源艾瑞:点击跳转 数据来源易观:点击跳转     集成环信前提准备: 1.注册成为环信开发者点击进入环信   2.在开发者后台创建APP获取Key   3.下载官方SDK DEMO点击查看   集成SDK步骤:…
Socket: 1>Socket又称"套接字" 2>网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 3>应用程序通常通过"套接字"向网络发出请求或者应答网络请求   网络通信的要素: 1>网络上的请求就是通过Socket来建立连接然后互相通信 2>IP地址(网络上主机设备的唯一标识) 3>端口号(定位程序) 4>用于标示进程的逻辑地址,不同进程的标示 5>有效端口:0~655…
由OpenDigg 出品的iOS开源项目周报第五期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. GDPerformanceView-Swift 状态栏上方显示手机状态 TXScrollLabelView 在视图里显示广告或者重播 FAQView 在iOS中轻松使用FAQ视图 KSPhotoBrowser 小而美的图片浏览器 PieCharts 易于使用和高度可定制的饼图库 DMSwipeCards…
ERROR ITMS-: "Unsupported Architectures. The executable for yht.temp_caseinsensitive_rename.app/Frameworks/VideoCore.framework contains unsupported architectures '[x86_64, i386]'." ERROR ITMS-: "Invalid Segment Alignment. The app binary at…
总所周知,苹果官方为IOS开发提供了3种制作UI方式,让我们能够快速开发漂亮APP界面,每一种方式都有他们各自的特点,谁也不能代替谁.但是国内开发人员为此时争得不可开交. 大家各说各有理,说都想说服谁,有时候为这个问题争论半天(这是程序员同比),下面有超波自己总结一下3种方式的特点 1:纯手写代码 2:使用xib开发 3:使用storyboard 故事版开发  一: 纯手写代码 优点: 1: 易读性比较高,可以实现复杂逻辑功能. 2: 代码复用性非常高(前提是你提前封装过) 缺点 1: 不能所…