首页 > 代码库 > cocos2dx3.2开发 RPG《Flighting》(一)基本介绍

cocos2dx3.2开发 RPG《Flighting》(一)基本介绍

前言:

上次写了一个消灭星星,很多人都回复了我,并且提出了宝贵的意见,先感谢大家啦~上几个月我发现了一个很好玩的游戏——《BattleHeart》,心里面想着,这么好的游戏要是可以联机跟好朋友一起玩(就像CS那样)那就爽歪歪了,于是就动手开始模仿这款游戏,并且为其加入网络模块。可惜,因为对多人网络游戏开发并不熟悉,虽然最后还是开发出来了,但是效果却差强人意。不过在开发过程中学到了很多新的知识和网络游戏用到的技术(例如boost::asio搭建服务器,网络游戏同步等),也算是一个不错的经历了。

由于网络版比较复杂,这里写的只是单机版的教程。。以后可能还会提供我写的一个用boost::asio搭建的服务器/客户端框架,不过这里先不涉及到网络模块方面的。

一、原版《BattleHeart》简介

在这里贴上几张《BattleHeart》的图片,让大家有个美好的期盼,哈哈。

技术分享

技术分享

二、山寨版《Flighting》

接下来就是我的山寨作品,大家做好心理准备啊。。。

技术分享

技术分享

只能怪美工咯,对不对,不过美工也是我担任的。。。


三、项目结构简介

说了那么多废话,现在开始讲我们的项目吧。

1)总体:

技术分享


2)Data:个人习惯把一些默认的数据放在一个文件里面管理

技术分享

3)Entity:实体类,主要包括Bullet(子弹类) Hero(英雄) Monster(怪物)Role(角色类,英雄和怪物类的父类)SkillBox(技能框)

技术分享

4)SKillSelector :负责技能效果的选择

技术分享

5)Util:主要是负责数据的录入(从Excel表转换成Json再录入到对象)

技术分享

6)View:各个场景(Battle:战斗场景,Choose:选人场景,MenuView:开始菜单,PauseView:暂停画面)

技术分享

7)AppDelegate:程序入口

这里,我用到的是1280x720的素材,而且默认的帧数改为45帧,所以AppDelegate的修改如下:

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLView::create("Flighting1.2");
        director->setOpenGLView(glview);
    }

	glview->setFrameSize(1280,720);
	glview->setFrameZoomFactor(0.6f);
	glview->setDesignResolutionSize(1280,720,kResolutionExactFit);

    // turn on display FPS
    director->setDisplayStats(true);

    // set FPS. the default value is 1.0/60 if you don't call this
    director->setAnimationInterval(1.0 / 45);

    // create a scene. it's an autorelease object
    auto scene = MenuScene::create();

    // run
    director->runWithScene(scene);

	//engine->executeScriptFile("src/main.lua");

    return true;
}

简介就先到此为止。

我的csdn地址:http://blog.csdn.net/hezijian22

邮箱地址:578690286@qq.com

如有问题或指教,请于我交流,谢谢。

cocos2dx3.2开发 RPG《Flighting》(一)基本介绍