cocos游戏框架--1

Cocos2d-x3.2教程——【我所认识的Cocos2d-x】

三、Cocos2d-x项目的游戏框架搭建

游戏与应用项目其实差别不是很大,甚至有许多地方都是一样的,无非侧重点不同,手机游戏更侧重于用户的体验,更加的娱乐化、情感化、让玩家感觉“爽”。而手机应用更侧重于简单、明了,优先完成业务为重。
    在以Cocos2d-x引擎为基础上,其实我们要做的准备工作还是很多的:
    一、分析项目
    首先,我们要知道,我们这个游戏是什么样类型的游戏,游戏机制是什么,按照目前市场上来说可以分成如下类型与机制:

1、 游戏类型
A、动作类
B、策略类
C、角色扮演类
D、 体育类
E、驾驶模拟类
F、 经营模拟类
G、冒险类
H、 益智解谜类
I、  社交游戏类
2、 游戏机制
A、物理机制
B、经济机制
C、渐进机制
D、 战术机动机制
E、社交互动机制

当我们拿到项目的时候,我们一定要了解到这点,因为这是我们要采用哪些技术的基础依据。
就好比《刀塔传奇》来说,那么它需要用到哪些基本技术呢实现呢?就像广告里说的骨骼系统 !那么《愤怒的小鸟》呢?不用我说同学们也知道,物理系统 !那么剩下的就是根据策划的要求进而添加一些基础的系统运用。
    其次,要知道我们的游戏是单机游戏?还是单机弱联网游戏?还是强联网游戏?通讯是采用长连接还是短连接。
    最后,逻辑是在服务端,还是在客户端!这点很重要!里面牵扯一些东西,容我一会再说。

二、搭建项目
基本需求分析完毕后,那么就开始创建一个Cocos2d-x项目吧。

耐心的等待片刻……

好了项目创建成功了!

打开项目后,我们可以看到,Cocos2d-x已经帮我们集成了一些系统

Chipmunk物理引擎及Audio系统,那么让我们先来编译下…

熟悉的HelloWorld的来了!

那么基于需求,我们需要哪些系统帮助我们完成一个游戏呢?

1、网络管理器

网络管理器,一般根据游戏的需求,我们会采用2种方式,短连接及长连接。短连接的话Cocos2d-x已经为我们提供了一个network库,而长连接呢?Socket就需要我们自己去找第三方库了,对于Socket个人比较推荐ODScoket,因为android和ios都兼容,跨平台才是王道!

    2、数据管理器

数据管理器,说白了就是封装好的单例数据模块,方便管理及调用的数据集管理器。

    3、UI管理器

UI管理器就更不用说了,就是我们自己封装的UI管理器了,当然首先也需要我们熟悉下Cocos Studio!个人觉得有了Cocos Studio换IP什么的再也不用麻烦程序了,我打算下一节详细的讲讲UI管理器。要使用Cocos Studio必须要添加的库文件。

    4、数据库管理器

对于中型及大型游戏,肯定要使用到数据库,还好Cocos2d-x也为我们准备好了sqlite3库,这里就需要我们熟悉一般的SQL语句了,至少增删改查必须会啊!正可谓,万事具备,只欠东风了。

    5、加密管理器

为什么要提到加密,上述已经提到过,逻辑是在服务端还是在客户端,大部分游戏的逻辑都是在服务端,为什么呢?就是因为加密的问题,客户端只是负责显示逻辑及提交业务就可以了,但是也有不少游戏逻辑是在客户端,服务端只负责保存数据及数据效验。其实,我个人比较喜欢将逻辑放在客户端,这样的话会大大的减少服务器压力,只不过客户端一定要做好加密工作!一般情况,客户端加密可以采用多种手段,像Base64MD5AES等,具体到底适不适合当前项目,还是要看项目实际情况了。

从后面开始我将会抽时间一点点的讲解这些管理器,当然如果时间允许的话,我会尽可能给大家带来一个项目,因为边写边学,学习的效果应该更好。好了,本节暂时就讲到这里了,我们下一节再见!

时间: 2024-11-04 05:28:45

cocos游戏框架--1的相关文章

Cocos2d-x项目的游戏框架搭建

本篇所用的Cocos2d-x版本为:Cocos2d-x 3.2 Cocos2d-x项目的游戏框架搭建 游戏与应用项目其实差别不是很大,甚至有许多地方都是一样的,无非侧重点不同,手机游戏更侧重于用户的体验,更加的娱乐化.情感化.让玩家感觉“爽”.而手机应用更侧重于简单.明了,优先完成业务为重. 在以Cocos2d-x引擎为基础上,其实我们要做的准备工作还是很多的: 一.分析项目 首先,我们要知道,我们这个游戏是什么样类型的游戏,游戏机制是什么,按照目前市场上来说可以分成如下类型与机制: 1. 游戏

iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序

iOS游戏框架Sprite Kit基础教程第1章编写第一个Sprite Kit程序 程序是为了实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.本章将以编写第一个Sprite Kit程序为主线,为开发者讲解什么是Sprite Kit.苹果账号的注册.Xcode的下载和安装.编写程序.调试等内容.选自iOS游戏框架Sprite Kit基础教程Swift版上册大学霸 1.1  Sprite Kit介绍 从iOS 7开始添加了Sprite Kit.本节将为开发者讲解什么是Sprite Ki

libgdx游戏框架介绍

libgdx作为上层为java,底层c和c++的游戏引擎.简直是优秀得一塌糊涂.  这个游戏框架最初只有1个人在维护,现在已经加入不少人了,越来越给力. libgdx的架构 很清晰, 我们先从包的结构分析: assets 代表资源包,用于资源加载等管理. audio 音频包,游戏需要播放声音时用. files 文件处理包,内部主要对象是FileHandle ,如果你用过Libgdx肯定对次很熟悉,libgdx加载纹理图片等都是通过此对象. graphics 绘画相关,就是我们要把游戏中的控件或者

Android游戏框架Libgdx使用入门

转载自:http://blog.csdn.net/cping1982/article/details/6176191 Libgdx作者博客:http://www.badlogicgames.com/ Libgdx项目地址:http://code.google.com/p/libgdx/ Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能执行在Mac.Linux.Windows等系统)与Android平台(Android1.5以上就可以使用.Andro

使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架

教程里的案例我们是通过H5游戏引擎开发,目前H5的游戏引擎比较好用的是白鹭,不过对于新手来说白鹭的开发环境和工具使用过于复杂,这里推荐一个国内大神编写的游戏引擎:lufylegend. 直接在页面引入Js文件,就可以开发了,运行效率非常高效,语法是仿AS3语法,懂C#的人上手会很快. Lufylegend引擎具体的API和使用方法可以参考官网和论坛: http://www.lufylegend.com/api/zh_CN/out/classes/FPS.html 之前微信上有一款"怪兽必须死&q

JS写小游戏(一):游戏框架

前言 前一阵发现一个不错的网站,都是一些用html5+css+js写的小游戏,于是打算学习一番,写下这个系列博客主要是为了加深理解,当然也有一些个人感悟,如果英文好可以直接Click Here. 概述 一般,小游戏都要关注两个问题:刷新和交互.因为游戏一般是动态的,所以需要不断刷新.JavaScript是单线程,如果用C语言写过贪吃蛇之类的小游戏,应该知道,单线程一般是挂起一个时间来达到动态效果.比如C语言的Sleep(),JS的setInterval()等.但是js还有一种更高性能的方法req

【开源java游戏框架libgdx专题】-01-libgdx介绍

libgdx是一款开源的java游戏框架,而且还实现了Desktop/Android/BlackBerry/iOS/HTML5这些些平台的跨平台开发.官方网址:https://libgdx.badlogicgames.com/ 框架项目截图(Eclipse需要安装Gradle): libgdx项目采用工具自动生成项目(可以自己配置扩展): 原文由博主 乐智 编辑撰写,版权归博主所有. 原文地址 http://www.dtblog.cn/1086.html 转载请注明出处!

cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架

一.游戏的基本框架: WelcomeScene    ——>    GameScene   ——>   GameOverScene ||                                       ||                                    || ∨                                      ∨                                   ∨ WelcomeLayer            

基于状态机的游戏框架

一 定义 有限状态机就是一个具有有限数量状态, 并且能够根据相应的操作从一个状态变换到另一个状态, 而在同一时刻只能处在一种状态下的智能体. 英文:Finite State Machine 简称:FSM 二 最简单的状态机 最简单的状态机:if-else 实际上if-else就是一个最有两种状态的状态机,分别是true和false 三 伪状态机 当两种情况不能满足我们的需求时,我们可以用if-else if -...-else, 不过,为了方便,我们可以使用switch-case代替 首先,定义