• 团队作业2


    MMP垃圾作业

    对本次任务的思考

    这种游戏的游戏逻辑和呈现逻辑耦合度较高,开发时应一起编写和调试,如果先开发数据类和游戏逻辑,很容易和呈现逻辑出现对接不上的情况,而且在呈现逻辑未完成开发之前,游戏逻辑难以测试。所以应该先完成最小呈现逻辑和游戏逻辑的开发,完成整个代码的框架,再慢慢加功能。因此我认为本次任务非常不友好。

    设计实现过程

    游戏地图采用瓦片地图,Background层完成图像的描述,meta层描述元数据,以创建建筑及可碰撞体

    RWorld类为单例模式,完成全局Unit和Buff的注册,以确保所有数据对象在任何地方都可访问。此类同时负责游戏时间的统计。
    Utils命名空间包含工具类,目前包含CoordinateTransform类完成坐标变换
    所有单位均继承自Unit,其中建筑继承自Building,可移动角色继承自Character
    技能继承自Skill,增益效果继承自Buff,以确保上层对其统一的访问方法
    游戏主循环在MainScene::update()

    代码说明

    详见文档
    代码见GitHub
    最近Azure有点问题,稍后更新

    花费时间

    大部分时间都花在实验cocos2d-x的各种代码段和与Box2D的集成上,花在模型设计设计上的时间不多。实际上花了多少时间我也不大清楚

    问题

    数据类和cocos2d的连接方式

    cocos2d-x的工厂构造和二段构造对于直接从cocos2d::Sprite进行多级继承以创建数据模型非常不友好,因此采用组合方式连接数据类和cocos2d。

    合照

  • 相关阅读:
    无言
    计算机网络的所有课件
    Linux 分区
    Linux 文件管理权限
    DropDownList 控件
    CssClass初步语法了解
    BulletedList用途
    BulletedList项目控件基础CSS基础
    Checkbox与foreach循环
    RadioButton控件
  • 原文地址:https://www.cnblogs.com/rtxux/p/9200942.html
Copyright © 2020-2023  润新知