• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >游戏开发 > 独自一人的手游开发之路持续更新cocos2dx-开发IOS

独自一人的手游开发之路持续更新cocos2dx-开发IOS

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了独自一人,独自一人生活的女人,独自一人僵尸丛林,独自一人英文,独自一人饮酒醉等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 独自一人的手游开发之路持续更新cocos2dx-开发IOS
描述:

cocos2dx iOS 手游

       这个坑是我2013年的时候挖的,当时正在看设计模式,想着写个游戏来实践下,于是就有了这个项目。那时候我天真的以为我可以很快就完成它,然而事实并非如此,这两年发生了太多事,加上之后大病一场,这个项目也就不了了之了。
        不知道你们有没有在某个夜晚整宿整宿的睡不着,心里的空虚像潮水般涌来,觉得自己似乎从未真正的做成过某件事,这种没来由的遗憾塞满了我的心,这些辗转反复无法入眠的夜晚给了我一些不一样的感觉,让我觉得,有些事,既然决定了就要做完,哪怕只有孤独伴随。我很喜欢的一句话,送给我自己,也送给所有那些心中有未完成梦想的人。
        正确的事情,什么时候做都不晚。
        言归正传,说说这个项目。
        策划上这个游戏是要做成横版的动作策略游戏,资源全套用的都是网络上的,冒险岛素材。这是一个召唤怪物出来替你打怪过关的游戏,点击下方的怪物卡牌,就会召唤出相应的士兵,这些士兵具有一定程度的AI,会自动锁定攻击最近的怪物,能根据你输入的策略符文改变打法,能触发技能,技能触发之后士兵头上会显示一个技能的图标,点击之后就能发出技能。召唤士兵和使用技能都要用能量,能量系统类似于植物大战僵尸,需要在其产生后手动点击收集,战斗中杀死敌人也会得到能量。士兵的技能可以通过配置画面更换,士兵的属性也可以提升,总之就是一款正宗的横版过关手游。然而这只是我脑子中的想法,并没有写成策划案,系统是想到哪写到哪。说说代码吧,整个项目的继承树由CGameObjectAbstract基类开始衍生,继承出CGameImageObject负责具有渲染的子类,CGameComponentObject负责没有渲染的功能,图形接口类总有CGameMonster,CGameSoidier等等。
 独自一人的手游开发之路持续更新cocos2dx-开发IOS
 独自一人的手游开发之路持续更新cocos2dx-开发IOS
        主要使用的还是聚合模式,用自己的类封装了cocos2dx的功能。其他使用的设计模式还有工厂方法,单例,策略,桥接等等乱七八糟的都在用。先看自己抽象的CGameInstance类,涌来封装整个游戏的启动逻辑。
[code=c]
//
//  CGameInstanceIOS.h
//  RPGMapstory
//
//  Created by Ling Dong on 13-8-27.
//  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
//
#ifndef RPGMapstory_CGameInstanceIOS_h
#define RPGMapstory_CGameInstanceIOS_h
static void fun();
#include "CGameInstanceAbstract.h"
#include "cocos2d.h"
using namespace cocos2d;
class CGameInstanceIOS:public CGameInstanceAbstract
{
protected:
    CGameInstanceIOS()
    {
        std::cout<<"CGameInstanceIOS is create"<<std::endl;
    }
    CGameInstanceIOS(const CGameInstanceIOS& rhs)
    {
    
    }
    const CGameInstanceIOS& operator=(const CGameInstanceIOS& rhs)
    {
    
    }
public:
    virtual ~CGameInstanceIOS()
    {
        std::cout<<"CGameInstance is destory"<<std::endl;
    }
    
    static CGameInstanceIOS * sharedGameInstanceIOS();
    
    virtual void InitGameInstance();
    
    virtual void InitGameSetting();
    
    virtual void CleareGameInstance();
    
    virtual void PauseGameInstance();
    
    virtual void ResumeGameInstance();
    
    virtual void StartRunGameInstance();
    
private:
    CCScene * m_pGameScene;
    
};
#endif
//
//  CGameInstance.cpp
//  RPGMapstory
//
//  Created by Ling Dong on 13-9-4.
//  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
//
#include <iostream>
#include "CGameInstanceIOS.h"
#include "CGameDataStruct.h"
#include "cocos2d.h"
#include "CGameScene.h"
using namespace cocos2d;
static CGameInstanceIOS * theGameInstnace = 0;
CGameInstanceIOS * CGameInstanceIOS::sharedGameInstanceIOS()
{
    if(!theGameInstnace)
    {
        theGameInstnace = new CGameInstanceIOS();
        if (theGameInstnace)
        {
            theGameInstnace->InitGameInstance();
            return theGameInstnace;
        }
    }
    
    return theGameInstnace;
    
}
void CGameInstanceIOS::InitGameInstance()
{
    
}
void CGameInstanceIOS::InitGameSetting()
{
    CCDirector::sharedDirector()->setOpenGLView(CCEGLView::sharedOpenGLView());
     CCDirector::sharedDirector()->setDisplayStats(true);
    CCDirector::sharedDirector()->setAnimationInterval(GAME_INTERVAL);
   
}
void CGameInstanceIOS::CleareGameInstance()
{
    
}
void CGameInstanceIOS::StartRunGameInstance()
{
    m_pGameScene = CGameScene::GetScene();
    CCDirector::sharedDirector()->runWithScene(m_pGameScene);
}
void CGameInstanceIOS::PauseGameInstance()
{
    m_iGameStateValue = GAME_STATE_PAUSE;
}
void CGameInstanceIOS::ResumeGameInstance()
{
    m_iGameStateValue = GAME_STATE_RESUME;
}
然后是自己继承自CCLayer的CGameScene涌来封装游戏流程。
//
//  CGameScene.h
//  RPGMapstory
//
//  Created by Ling Dong on 13-9-4.
//  Copyright (c) 2013年 __MyCompanyName__. All rights reserved.
//
#ifndef RPGMapstory_CGameScene_h
#define RPGMapstory_CGameScene_h
#include <iostream>
#include "cocos2d.h"
using namespace cocos2d;
class CGameScene:public CCLayer
{
public:
    CGameScene()
   &n
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 独自一人的手游开发之路持续更新cocos2dx-开发IOS

相关文章

  • 2017-06-05 AmbientOcclusion渲染很慢FPS很低这样会影响整体速度怎么办
  • 2022-04-30Unity 3D菜单栏及快捷键详解
  • 2017-06-05 网游服务端开发,有哪些书籍可供推荐?
  • 2017-06-05 sqlserver2008数据库引擎服务器安装失败急急急急
  • 2017-06-05 AirSig游戏动作体感辨识引擎
  • 2017-06-05 初学unity,关于解决有向匀速运动的问题
  • 2017-06-05 cocos2d-xC++有什么好的教程吗?
  • 2017-06-05 cocos2dx35AssetsManager使用问题
  • 2022-04-30Unity 3D物理引擎简介
  • 2017-06-05 cocos2d-x代码在xcode7上运行报错,错误原因?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • unity3d求两个物体的距离的中点坐标
    • cocos2dx打包出现VM内存不足怎么解决
    • 游戏引擎虚幻pc
    • Unity 3D角色动画在游戏中的应用
    • OS下创建新项目报错
    • 学了一下U3D开发游戏发现是个脚本开发工具,有没有不是脚本的?
    • Unity3D新版本的Animation系统怎么修改Material的Offset属性?
    • Unity 3D动画系统(Mecanim)
    • 小子新人一枚,目前正在实习期间,WEB游戏开发,遇到了一个问题。。
    • 有没有什么好的材料方法适合自学Unity3D

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有