
游戏开发
文章平均质量分 87
码农老关【关东升】
关东升,国内著名技术专家,架构师,项目经理、技术顾问,技术图书作家,51CTO学院金牌讲师。
擅长技术:
移动开发、前后端技术、游戏开发、数据库开发与设计、软件架构设计等多种IT技术。
20多年教学经验:
教授近万名学员,近期为中国移动、中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位授课。
著有50本多部畅销书:
《看漫画学Python》
《看漫画学Python2》
《极简ChatGPT: 如何利用AI提高办公效率》
《极简ChatGPT:如何利用AI实现Python自动编程》
《AI时代程序员开发之道:ChatGPT让程序员插上翅膀》
展开
-
Android网络游戏之神农诀项目开发--视频
Android网络游戏之神农诀项目开发下载地址:http://product.china-pub.com/3502350 Android作为一款为移动终端打造的开源手机操作平台,其引领破除技术垄断、拥有自主知识产权、降低开发成本之潮流,引起业界的高度关注。在2原创 2011-10-15 11:44:21 · 3380 阅读 · 0 评论 -
《iPhone与iPad开发实战——iOS 经典应用剖析》出版在即,敬请期待
《iPhone与iPad开发实战——iOS 经典应用剖析》出版在即,敬请期待作者:关东升 赵志荣出版社:机械工业出版社目录第1章 开篇综述1.1iOS概述1.2App Store1.3iOS应用程序分类1.3.1实用性应用场景1.3.2效率性应用场景1.3.3沉浸式系统应用场景1.4 HIG和什么是好的iOS应用 1.5 xcode的安装1.原创 2011-10-20 16:17:46 · 2130 阅读 · 0 评论 -
如何在Visual Studio 2010旗舰版本下安装Window Phone 7 简体中文开发环境
微软官方提供的Window Phone 7 开发工具包是VisualStudio2010 Express for Window Phone7 (学习版或快捷版),使用该版本有个问题是,不能打开传统的Visual Studio工程(如:WinForm、WebServer、WebForm等),如果能够把在Visual Studio 2010旗舰版本下安装Window Phone 7开发环境成为了开原创 2012-02-22 07:46:05 · 2296 阅读 · 0 评论 -
Cocoa教学:Windows OOP与Cocoa MVC之对比
封装不封装,这是个问题。今天我在看Cocoa开发者邮件列表的时候,看到一个帖子,求助如何在两个View之间互相通信的问题。做Windows程序员的时间长的我都不好意思说了,我意识到,这个问题在我刚刚接触到Mac上的Objective-C时也遇到过。我现在可以提出这个问题的简化版:“我有一个对话框,获取了一些用户输入的数据。我现在需要从我那个对话框中把这个数据提取出来以供主窗口使用。如何才能转载 2012-09-24 11:06:58 · 2190 阅读 · 1 评论 -
Android网络游戏之神农诀项目开发--视频观看地址
Android网络游戏之神农诀项目开发观看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240570课程要求:熟悉java,android,有相关工作经验。项目平台:演示:XP版本:Eclipse3.5,Android2.2工具:Eclipse涉及知识:语言:java操作系统:Android手机操作原创 2011-10-29 16:02:19 · 3151 阅读 · 2 评论 -
iPhone与iPad开发实战——iOS 经典应用剖析视频--观看地址
iPhone与iPad开发实战——iOS 经典应用剖析视频试看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=241038课程要求熟悉C,C++,Objective C,有相关工作经验。项目平台:演示:mac os版本:xcode3.25,iOS4.2工具:xcode涉及知识:语言:Objective原创 2011-10-25 10:50:01 · 2440 阅读 · 0 评论 -
iPhone与iPad开发实战——iOS 经典应用剖析--视频
iPhone与iPad开发实战——iOS 经典应用剖析视频观看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=241038 ios作为一款为移动终端打造的手持设备操作平台,其引领技术前沿、时尚前沿、拥有自主知识产权,引起业界的高度关注。在2011年股市动荡“经济寒流”中,苹果公司一跃成为原创 2011-10-23 12:04:04 · 2338 阅读 · 0 评论 -
Swift内存管理-示例讲解
具体而言,Swift中的ARC内存管理是对引用类型的管理,即对类所创建的对象采用ARC管理。而对于值类型,如整型、浮点型、布尔型、字符串、元组、集合、枚举和结构体等,是由处理器自动管理的,程序员不需要管理它们的内存。一、引用计数每个Swift类创建的对象都有一个内部计数器,这个计数器跟踪对象的引用次数,称为引用计数(Reference Count,简称RC)。当对象被创建的时候,引用计数为1,每次原创 2014-09-04 20:13:57 · 3931 阅读 · 2 评论 -
Swift类型检查与转换
继承会发生在子类和父类中,如图15-4所示,是一系列类的继承关系类图,Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类。这个继承关系类图的具体实现代码如下:class Person { var name : String var age : Int func description() -> String {原创 2014-09-04 19:40:18 · 9239 阅读 · 0 评论 -
Swift数字类型之间的转换
Swift数字类型之间的转换Swift是一种安全的语言,对于类型的检查非常严格,不同类型之间不能随便转换。一、整型之间的转换在C和Objective-C等其他语言中,整型之间有两种转换方法:从小范围数到大范围数转换是自动的;从大范围数到小范围数需要强制类型转换,有可能造成数据精度的丢失。而在Swift中这两种方法是行不通的,我们需要通过一些函数进行显式地转换,代码如下:let historySco原创 2014-09-05 09:59:54 · 6899 阅读 · 0 评论 -
使用Playground编写第一个Swift程序
从控制台输出“HelloWorld”是我学习C语言的第一步,也是我人生中非常重要的一步。多年后的今天,我仍希望以HelloWorld作为第一步,与大家共同开启一个神奇、瑰丽的世界——Swift编程。本章以HelloWorld作为切入点,向大家系统介绍如何使用Xcode的Playground编写和运行Swift程序代码。编写和运行Swift程序有多种方式,我们可以通过在Xcode中创建一个iOS或M原创 2014-08-08 20:01:21 · 41151 阅读 · 0 评论 -
Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课
Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课本课程采用QQ群直播方式进行直播,价值99元视频课程免费直播。完整的基于Swift项目实战,手把手教你做一个Swift版iPhone计算器。(直播过程也有惊喜!)直播QQ群:362298485(直播时点击群视频即可进入直播课堂)直播时间:8月26日(周二),9月2日(周四),每天20:00-22:00欢迎咨询客服QQ:157原创 2014-08-21 14:52:57 · 4074 阅读 · 0 评论 -
Swift标识符和关键字
任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字。标示符标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字。构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则如下:区分大小写,Myname与myname是两个不同的标识符;标识符首字符可以以下划线(_)或者字母开始,但不能是数字;标识符中其他字符可以是下划线(_)、字母或数字。例原创 2014-08-09 19:59:25 · 10190 阅读 · 0 评论 -
关于《Swift开发指南》背后的那些事
时间轴(倒叙)2014年8月底在图灵出版社的大力支持下,全球第一本全面、系统、科学的,包含本人多年经验的呕心沥血之作《Swift开发指南》(配有同步视频课程和同步练习)全线重磅推出2014年7月5日苹果宣布Swift语言二十天后,《Swift开发指南》第一稿交予图灵出版社2014年6月9日苹果宣布Swift语言三天后,启动《Swift开发指南》撰写2014年6月2日凌晨1点(北京时间:)在苹果开发原创 2014-08-22 19:07:24 · 8473 阅读 · 5 评论 -
Swift字典集合
字典表示一种非常复杂的集合,允许按照某个键来访问元素。字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合。键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的。如下图所示是字典结构的“学号与学生”集合,学号是键集合,不能重复,学生是值集合,可以重复。 提示 字典中键和值的集合是无序的,即便在添加的时候是按照顺序添加的,当取出这些键或值的时候,也会变得无序。字原创 2014-09-07 20:47:38 · 4561 阅读 · 0 评论 -
Swift字典类
在Foundation框架中提供一种字典集合,它是由“键-值”对构成的集合。键集合不能重复,值集合没有特殊要求。键和值集合中的元素可以是任何对象,但是不能是nil。Foundation框架字典类也分为NSDictionary不可变字典和NSMutableDictionary可变字典。一、NSDictionary类NSDictionary有很多方法和属性,下面总结其常用的方法和属性。initWith原创 2014-09-07 21:56:16 · 20844 阅读 · 0 评论 -
Swift常量和变量以及命名规范
我们在上一章中介绍了如何使用Swift编写一个HelloWorld小程序,其中就用到了变量。常量和变量是构成表达式的重要组成部分。常量在声明和初始化变量时,在标识符的前面加上关键字let,就可以把该变量指定为一个常量。顾名思义,常量是其值在使用过程中不会发生变化的量,实例代码如下:let_Hello = "Hello"_Hello标识符就是常量,只能在初始化的时候被赋值,如果我们再次给_Hello原创 2014-08-11 20:39:01 · 6894 阅读 · 0 评论 -
Swift中的循环语句
循环语句能够使程序代码重复执行。Swift编程语言支持4种循环构造类型:while、do while、for和for in。for和while循环是在执行循环体之前测试循环条件,而do while是在执行循环体之后测试循环条件。这就意味着for和while循环可能连一次循环体都未执行,而do while将至少执行一次循环体。for in是for循环的变形,它是专门为集合遍历而设计的。一、while原创 2014-09-09 14:09:01 · 9583 阅读 · 0 评论 -
Swift泛型和泛型函数
泛型(generic)可以使我们在程序代码中定义一些可变的部分,在运行的时候指定。使用泛型可以最大限度地重用代码、保护类型的安全以及提高性能。在Swift集合类中,已经采用了泛型。一、一个问题的思考怎样定义一个函数来判断两个参数是否相等呢?如果参数是Int类型,则函数定义如下:func isEqualsInt(a:Int, b:Int) -> Bool { return (a == b)}这原创 2014-08-28 18:54:55 · 11032 阅读 · 1 评论 -
Swift中的注释以及表达式
Swift程序有两类注释:单行注释(//)和多行注释(/*...*/)。注释方法与C、C++和Objective-C语言都是类似的,下面详细介绍一下。1. 单行注释单行注释可以注释整行或者一行中的一部分,一般不用于连续多行的注释文本。当然,它也可以用来注释连续多行的代码段。以下是两种注释风格的例子:if x > 1 { //注释1} else { return false; //原创 2014-08-15 14:03:50 · 4678 阅读 · 0 评论 -
Objective-C调用Swift
Objective-C调用Swift如果已经有了一个老的iOS应用,它是使用Objective-C编写的,而它的一些新功能需要采用Swift来编写,这时就可以从Objective-C调用Swift。Objective-C调用Swift时不需要桥接头文件,而是需要Xcode生成的头文件。这种文件由Xcode生成,不需要我们维护,对于开发人员也是不可见的。如图18-11所示,它能够将Swift原创 2014-08-17 17:04:59 · 24852 阅读 · 5 评论 -
Swift静态方法
与静态属性类似,Swift中还定义了静态方法,也称为类型方法,所谓“类型”是指枚举、结构体和类。静态方法定义的方法也是与静态属性类似的,枚举和结构体的静态方法使用的关键字是static,类的静态方法使用的关键字是class。一、结构体中静态方法下面我们先看一个结构体静态方法的示例,代码如下:struct Account { var owner : String = "Tony"原创 2014-08-31 20:40:45 · 23447 阅读 · 2 评论 -
Swift构造器重载
与函数一样,方法也存在重载,其重载的方式与函数一致。那么作为构造器的特殊方法,是否也存在重载呢?答案是肯定的。一、构造器重载概念Swift中函数重载的条件也适用于构造器,条件如下:函数有相同的名字;参数列表不同或返回值类型不同,或外部参数名不同;Swift中的构造器可以满足以下两个条件,代码如下:class Rectangle { var width : Double v原创 2014-08-30 20:04:57 · 3851 阅读 · 0 评论 -
Swift结构体与类
在面向过程的编程语言(如C语言)中,结构体用得比较多,但是面向对象之后,如在C++和Objective-C中,结构体已经很少使用了。这是因为结构体能够做的事情,类完全可以取而代之。而Swift语言却非常重视结构体,把结构体作为实现面向对象的重要手段。Swift中的结构体与C++和Objective-C中的结构体有很大的差别,C++和Objective-C中的结构体只能定义一组相关的成员变量,而Sw原创 2014-08-30 20:14:51 · 6763 阅读 · 1 评论 -
Swift静态属性
在介绍静态属性之前,我们先来看一个类的设计,有一个Account(银行账户)类,假设它有3个属性:amount(账户金额)、interestRate(利率)和owner(账户名)。在这3个属性中,amount和owner会因人而异,不同的账户这些内容是不同的,而所有账户的interestRate都是相同的。amount和owner属性与账户个体有关,称为实例属性。interestRate属性与个体原创 2014-09-01 22:09:40 · 14509 阅读 · 1 评论 -
Swift使用闭包表达式
Swift中的闭包表达式很灵活,其标准语法格式如下:{ (参数列表) ->返回值类型 in 语句组}其中,参数列表与函数中的参数列表形式一样,返回值类型类似于函数中的返回值类型,但不同的是后面有in关键字。Swift提供了多种闭包简化写法,这一节我们将介绍几种不同的形式。1.类型推断简化类型推断是Swift的强项,Swift可以根据上下文环境推断出参数类型和返回值类型。以下代码是标准形式的闭原创 2014-09-04 20:34:07 · 5915 阅读 · 0 评论 -
Cocos2d-x中触摸事件
理解一个触摸事件可以从时间和空间两方面考虑。1、触摸事件的时间方面触摸事件的在时间方面,如下图所示,可以有不同的“按下”、“移动”和“抬起”等阶段,表示触摸是否刚刚开始、是否正在移动或处于静止状态,以及何时结束,也就是手指何时从屏幕抬起。此外,触摸事件的不同阶段都可以有单点触摸或多点触摸,是否支持多点触摸还要看设备和平台。 触摸事件有两个事件监听器:EventListenerTouchOneByO原创 2014-07-23 20:01:08 · 3887 阅读 · 1 评论 -
Cocos2d-x如何控制动作速度
基本动作和组合动作实现了针对精灵的各种运动和动画效果的改变。但这样的改变速度匀速的、线性的。通过ActionEase及其的派生类和Speed 类我们可以使精灵以非匀速或非线性速度运动,这样看起了效果更加逼真。ActionEase的类图如下图所示。 下面我们通过一个实例介绍一下这些动作中速度的控制的使用,这个实例如下图所示,上图是一个操作菜单原创 2014-07-12 11:03:17 · 6961 阅读 · 0 评论 -
Cocos2d-x实例:单点触摸事件
为了让大家掌握Cocos2d-x中的事件机制,下面我们以触摸事件为例,使用事件触发器实现单点触摸事件。该实例如图8-3所示,场景中有三个方块精灵,显示顺序如图8-3所示,拖拽它们可以移动它们,事件响应优先级是按照它们的显示顺序。下面我们再看看具体的程序代码,首先看一下HelloWorldScene.h文件,它的代码如下: #ifndef __HELLOWORLD_SCENE_H__#define原创 2014-07-24 20:37:54 · 11474 阅读 · 0 评论 -
Cocos2d-x开发实例介绍帧动画使用
下面我们通过一个实例介绍一下帧动画的使用,这个实例如下图所示,点击Go按钮开始播放动画,这时候播放按钮标题变为Stop,点击Stop按钮可以停止播放动画。 下面我们再看看具体的程序代码,首先看一下看HelloWorldScene.h文件,它的代码如下:#ifndef __HELLOWORLD_SCENE_H__#define __HELL原创 2014-07-15 16:14:39 · 4596 阅读 · 0 评论 -
Cocos2d-x开发实例介绍特效演示
下面我们通过一个实例介绍几个特效的使用,这个实例下图所示,下图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的特性动作,点击Back按钮可以返回到菜单场景。 下面我们再看看具体的程序代码,首先看一下看HelloWorldScene.h文件,它的代码如下:#ifndef __HELLOWORL原创 2014-07-13 21:10:34 · 4715 阅读 · 2 评论 -
Cocos2d-x开发实例:使用Lambda 表达式
Cocos2d-x开发实例:使用Lambda 表达式在Cocos2d-x 3.0之后提供了对C++11标准[1]的支持,其中的Lambda[2]表达式使用起来非常简洁。我们可以使用Lambda表达式重构上一节的实例。我们可以将下面的代码:listener->onTouchBegan =CC_CALLBACK_2(HelloWorld::onTouchBegan, this);... ...原创 2014-07-26 20:00:24 · 6810 阅读 · 0 评论 -
《iOS开发指南》要改iOS8版本了,听听您的意见?
《iOS开发指南》要改iOS8版本了,听听您的意见?参加问卷同学均可获得智捷课堂50元代金卡一张,同时抽取一名同学赠送即将出版的基于iOS8的《iOS开发指南》一本,欢迎大家填写问卷http://www.diaochapai.com/survey/17a0cd7b-ef61-40ec-b51f-4e85acdd9fb5原创 2014-12-30 11:00:58 · 2526 阅读 · 2 评论 -
SQLite集成与用法
SQLite集成与用法概述在Cocos2d-x中,简单数据存储,可以使用UserDefault。那么如何存储大量,不规则的数据?我们可以使用SQLite数据库存储数据。SQLite是使用非常广泛的嵌入式数据库,它有小巧 、高效、跨平台、开源免费和易操作的特点。SQLite数据库是使用C语言来编写的,那么在Cocos2d-x使用SQLite也是得心应手。准备首先创建一个Cocos2d-xv3.x转载 2015-08-12 16:18:39 · 2142 阅读 · 0 评论 -
cocos2d-x中关于touch事件的响应
原作者:有缘人 来源:新浪微博 地址:http://blog.sina.com.cn/s/blog_6ac2c7260102vvdu.html 一、touch事件响应分为单点触摸响应和多点触摸响应。 单点触摸响应需要重载的方法: virtual boolccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); virtual voidccTou转载 2015-08-27 11:51:30 · 1543 阅读 · 0 评论 -
Cocos2d-x与ios内存管理分析(在游戏中减少内存压力)
Cocos2d-x与ios内存管理分析(在游戏中减少内存压力)猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=281注:自己以前也写过Cocos2d-x如何优化内存的使用,以及内存不足的情况下怎么处理游戏。今天在微博中看到有朋友介绍了下内存,挺详细的。不知道是谁写的,我记录下。一转载 2015-08-13 14:20:26 · 1275 阅读 · 0 评论 -
Cocos2d-x 完美适配iphone、ipad(包括retina模式)
Cocos2d-x 完美适配iphone、ipad(包括retina模式)猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.Cocos2dev.com/?p=245项目中需要同时适配iphone和ipad。美术提供的iphone的图是640x960的,ipad的图是768x1024的。发布的时候,项目肯定会分开转载 2015-08-14 13:50:55 · 4126 阅读 · 0 评论 -
智捷课堂改版啦!
新站上线,为庆祝网站改版,全站所有视频限时免费三天(8月5日至8月8日),自改版(8月5日)起7天内,站内所有会员打8折!!!!在网站注册的每第100名用户,我们会送出礼品哦! 更酷炫的界面,更高的用户体验,更超值活动,更有海量精品课程! 智捷课堂现推出会员服务,全站会员可收看全站所有iOS,Cocos,移动设计,Android,Java等所有免费及收费课程,并有为您定制的iOS会员,Co原创 2015-08-04 12:06:10 · 2668 阅读 · 1 评论 -
Cocos-2d 坐标系及其坐标转换
原作者:jlins 出处:博客园http://www.cnblogs.com/dyllove98/p/3231175.html Cocos-2d中,涉及到4种坐标系:GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系。GL坐标系原点在屏幕左下角,x轴向右,y轴向上。 屏幕坐标系苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下转载 2015-09-01 15:00:16 · 1477 阅读 · 0 评论 -
Cocos2d-x初入学堂(17)-->打包成APK中文显示乱码
原作者:445822357 来源:博客网 欢迎转载!转载时请注明出处:http://write.blog.youkuaiyun.com/postedit/8363166很久没有更新博客了,因为工作各种忙,忘能谅解..这个问题也是移植到android上必碰的问题,只要你的C++文件中有中文,没有处理对应的文件,肯定中文显示会乱码的...呵呵!在此分享一下将你C++头文件,源文件用到中文的地方,全部转载 2015-09-10 11:35:32 · 1647 阅读 · 0 评论