麦子学院讲师,游戏蛮牛专栏作家,CSDN博客专家,热爱游戏开发,热爱Coding!
引言: 我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下。
要实现一个两个图层叠加在一起,然后点击其中的一个图层,实现另外一个图层的旋转缩放的效果。 预期效果: 1.实现两个layer添加在一个场景中。 2.实现点击一个场景能实现另一个场景的旋转缩放的功能。
下面我来介绍一下手势条纹的应用,水果忍者游戏是一个典型的应用例子。 操作步骤: 1.首先设置屏幕允许单点触摸,也就是要完善一个触摸注册事件 //触摸注册事件 void HelloWorld:: registerWithTouchDispatcher(...
下面我来介绍一下进度条的显示,在cocox2d-x中常用于能量圈的逐渐加满或者玩家血量的逐渐增加的一个效果。 操作步骤: 1.添加CCProgressTimer类 CCProgressTimer *progressTimer = CCProgressTimer::create(CCSprite::create("Icon-72.
视差滚屏效果的实现: 我们在做IOS游戏开发的时候,经常会遇到那种屏幕动的效果,比如跑酷类的游戏,就这这种效果的典型应用。 效果图: 核心代码: bool HelloWorld::init() { ////////////////////////////// // 1.
折腾了大半天,终于可以玩cocos2d-x了。 先说步骤(相当简单): 一、准备好你的vs2010或2012 二、下载cocos2d-x,网址http://cocos2d.cocoachina.com/download,请下载稳定版,我用的是cocos2d-2.1rc0-x-2.1.2-hotfix.zip @ Apr.08, 2013。
好的游戏编辑工具能够减少了我们大量的开发时间,收集后用。 物理编辑工具Physics Editing ToolsMekanimo 网址:http://www.
正文: 1. scheduleUpdate 我们现在来新建一个Cocos2d-x的项目,然后把HelloWorldScene的init函数的多余代码删掉,然后我们敲一行代码: bool HelloWorld::init() { boo...
这里说的“大小”,包括了以下一些内容: (1).窗口的大小 (2).分辨率的大小 (3).影幕的大小 (4).视口的大小 (5).裁剪区域的大小 我们先来看(1),窗口的大小 窗口的大小,即是Windows窗体大小。
最近有很多朋友在群里问用VS+Cocos2d-x 加载图片资源时总是报“ Get data from file(xxx.png) failed! ” 错误,问题虽小,但却能影响项目的往下进行,在一遍又一遍的检查后,还是没有什么发现,这着实让人抓狂哇~~~...
实现一个躲蜘蛛的游戏,具备以下效果: 1.玩家精灵在游戏的最下方。 2.蜘蛛精灵在游戏的最上方,并且从上往下掉落。 3.手动控制玩家精灵。 4.碰撞检测,如果玩家精灵碰到蜘蛛则重玩。
实现一个demo,具备以下功能: 1.实现带一个参数或者两个参数的方法回调。 2.实现按钮围绕屏幕转动。 3.实现场景的切换(中间要有过渡场景,以便实现前一个场景资源的释放)。
1 在一个游戏中有了人物、白云等精灵,但是游戏中精灵静止不动肯定是不行的,要让它们执行一些动作,使精灵有丰富的动画效果,这样就会使用到CCAction类。CCAction主要用于人物角色等发生动作时使用,如紧身肉搏、远程射击和贴近对话等 2...
那些最终会让你陷进去的,一开始总是美好。 当你做对的时候,没有人会记得;当你做错的时候,连呼吸都是错。 等待,是一生最初的苍老。 祈求天地放过一双恋人,怕发生的永远别发生。
从前有一个叫化子每天出门乞讨,他很想过正常人的生活,于是他总要乞讨一些粮食积攒起来。可是他积攒了好多年,他的粮仓还是只有那么一点米。他不明白是怎么回事,于是他打算弄个明白。
实现一个demo,具备以下功能: 1.让几个字分别位于中间和四个角落。 2.中间的字体改变,并且带有闪烁功能。 3.单点触摸和多点触摸,并且能够实现滑动效果,滑动的话必须使用带有bool返回值的单点触摸设置为true。
CCDirector的主要作用: 1.访问和改变场景;2.访问cocos2d-x的配置细节3.访问视图(OPENGL,UIVIEW,UIWINDOW);4.暂停,恢复和结束游戏;5.
cocos2d ccLayer响应触摸事件方法:CCStandardTouchDelegate 与 CCTargetedTouchDelegate 以下内容转载自:http://blog.sina.com.cn/s/blog_623ed7840100yhw9.html ,对原作者表示感谢。
Cocos2d-x提供了很多场景间切换的效果 1.使用方法: ccTime t = 1.2; CCScene * pScene = CCScene::node(); CCLayer *pLayer = new book_page...
CCNode 节点类是Cocos2D-x中的主要类,继承自CCObject。 任何需要画在屏幕上的对象都是节点类。最常用的节点类包括场景类(CCScene)、布景层类(CCLayer)、人物精灵类(CCSprite)、菜单类(CCMenu) CCNode类包含的主要功能如下: 每个节点都可以包含有子节点。
Cocos2d-x win7 + vs2010 配置图文详解(亲测) 下载最新版的cocos2d-x。打开浏览器,输入cocos2d-x.org,然后选择Download,本教程写作时最新版本为cocos2d-1.01-x-0.9.1,具体下载位置如下图: 下载完之后,解压到当前文件夹。
最近看了些关于objective-c的正式协议和非正式协议的内容,发现还是有些混乱,可能是因为还不熟悉OC,对正式协议和非正式协议的使用还不是很熟练,所以想整理一下 非正式协议,是使用类别category来实现,非正式协议是NSObject的一个类别,这样任何类的对象都可以作为委托对象来使用,它可以列出对象能够执行的所有方法,这样用来实现委托, 我们可以使用选择器来判断该非正式协议中是否有这个方法。
浅复制和深复制的区别?//浅拷贝和深拷贝 答案:浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身。//通过对象的指针来访问这个对象 深层复制(mutableCopy):复制引用对象本身 意思就是有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源 还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.
我们之前创建过Mono For Android的开发环境,但是使用一段时间后就说明证书过期,那如何破解呢? 但我说的这个也就只能使用免费的证书。 首先下载免费的证书,monoandroid.licx,然后如何将该证书放到合适的位置? 我们要找到该路径,C:\ProgramData\Mono for Android\License\monoandroid.licx,然后将免费的证书放在该文件中,可能该文件是隐藏的,所以要想办法显示隐藏文件。
本文能解决: Evaluation Version only deploys to emulators.Click to activete. 除了JDK必须自己下载, 其他东西我已经放到http://down.
我们在IOS开发应用中,会碰到做好的一个应用,如何趋向国际化,也就是说支持多种语言?下面我就来简单演示一下,用一个Demo来实现中文和英文的实现。 实现步骤: 1.本地化项目中xib的view 1.在view中添加几个label,把对应的属性绑定好。
IOS应用开发,如何加载图片库中的Image到view中?下面我们来学习一下吧! 操作步骤: 1.创建一个SingleView的项目,然后启动模拟器,点击模拟器上的浏览器,然后将本地的图片拖放上去,然后点击图片长按,点击saveImage到图片库。
用storyboard添加一个导航栏,其中首页有一个switch,与setting联动,还有一个button,使用modal连接另一个viewControl,其上也有一个按钮,按下销毁本viewControl,回到前一页。
如上图所示,如何装载Storyboard中指定的ViewController? 首先,需要指定ViewController的ID,如上图右上方红色方框内的Storyboard ID。
创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰、简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程。
创建一个Demo来学习一个Setting Bundle为程序存储设置项 Settings Bundle是在自己的程序中建立的一组文件,利用它可以告诉设备中的Settings程序我们写的程序有哪些设置项。
只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。
在iphone和ipad中,有一个东西大家一定很熟悉,那个东西就是Settings。 这次要学习的东西说白了很简单,就是学习如何在Settings中对一个app的某些属性进行设置,反过来,在app中更改了一些属性值,也会反应到Settings中,这个功能很常用,实现起来也相对简单,但是内容还是比较多的。
写一个Demo来自定义一个长触屏事件,自定义长按手势。 实现步骤: 1.创建一个自定义手势类,命名为LongPressGestureRecognizer,在创建的时候继承UIGestureRecognizer LongPressGestuRecognizer.
实现图片的旋转和缩放也是IOS开发中一个比较常见的技术点,下面我们来一起学习,这功能如何实现? 效果图: 运行的时候按住alt键能够实现图片的伸缩 ViewController.
如何实现iPhone的重力感应还有旋转感应,也就是术语上的陀螺仪和加速器?下面我们来用一个简单的Demo入门一下吧! 由于模拟器上不能运行这个,所以只能贴出代码,没有截图。
提供一下三种方法参考: 方法一: //单击事件 -(void)fun1 { NSLog(@"click1"); } //双击事件 -(void)fun2 { NSLog(@"click2"); } //单击和双击方法之一 -...
如何使用IOS中的触摸事件和手势,这也是增加我们IOS应用的一个重要的一个功能?下面我来用一个简单的Demo来入门一下吧! 实现的功能具备右滑动和双击操作: 双击切换图片: 友情提醒:要实现两点滑动,按住alt键和shift键试试 操作步骤: 1.
如何读取沙盒中的文件,和保存网络资源到沙盒中? -(NSString *)dataFilePath:(NSString*)fileName { NSArray *paths=NSSearchPathForDirectoriesInDomains(...
IOSMapKit如何快速入门?下面我来写一个简单的Demo,做简要介绍。 效果图: 操作步骤: 1.首先创建一个项目,在xib的view中添加一个MapVIew控件,并且导入MapKit.framework和CoreLocation.frameword框架。
如何通过viewView保存访问过的页面?和如何获取并解析服务器端发送过来的json数据?通过一个简单的Demo来学习一下吧! 操作步骤: 1.创建SingleViewApplication应用,新建VIewController,并在xib试图中添加WebView,继承webview的Delegate协议。
UIWebView是一个能够显示网页的IOS视图控件,我们可以用它来访问一个网站。下面是具体的实例: 操作步骤: 1.首先在xib文件中拖放一个UIWebView控件到view中 2.
创建一个数据库(包括int 类型的id,string 类型的name),并对其进行增删改查 实现步骤: 1.创建一个SingleViewApplication应用。
需求:我们都知道NSArry中如果存放的是普通的字符串类型,是很容易存入到plist文件中,也很容易从文件中读取出来,那如果NSArray中存放的是自定义的Person对象呢?该如何存入文件中去呢? 下面我来简单写一个NSArray中继承了NSCoding协议的自定义Person对象,将这个array数组存入到plist文件中,并且能够实现读取文件中的数据的Demo 实现步骤: 1.创建一个SingleView的项目命名为test,然后创建一个自定义的Person对象,具有NSString *name和int age两个属性。
做一个tableView,包含增删改移动功能,并且修改值的时候,在按home键的时候会自动保存。如果可以的话使者保存自定义的类数组保存到plist中。 实现步骤: 1.
在进行IPhone开发的时候,常常需要将简单的数据保存到文件中,以便下次再重新打开的时候能够读取文件中保存的数据。 下面就来做一个简单的demo: 步骤: 1.
一个tableView页面,左上角的按钮用来添加行,同时可以移动行,右上角的按钮用来删除行,不能移动行,要求第一行不能被改变(删除,移动,增加),第一行用来返回上一级。
用导航控制器制作一个简单的登陆显示 1.Empty项目的创建+AppDelegate的修改 #import "DXWAppDelegate.h" #import "LoginViewController.
我们在iPhone开发的过程中,估计UINavgationController是最最常用的控件之一吧,截下来我就用一个demo来举例导航控制器的应用。包含了tableview中增删查改的功能。