zoukankan      html  css  js  c++  java
  • 游戏结构 from Space Viking & Learning Cocos2d

    An Architecture in Cocos2d

    Classes

    GameplayLayer、BackgroundLayer、GameObject、GameCharacter、RadarDish、Viking

    GameplayLayer : CCLayer 游戏Layer

    CCSprite *vikingSprite; // 游戏主角
    SneakyJoystick *leftJoystick; // 屏幕左侧游戏控制杆
    SneakyButton *jumpButton; // 跳跃按钮
    SneakyButton *attackButton; // 攻击按钮
    CCSpriteBatchNode *sceneSpriteBatchNode; // 包含所有GameObject的CCSpriteBatchNode

    BackgroundLayer : CCLayer 背景Layer

    GameObject : CCSprite 游戏物体

    BOOL isActive; // 是否活跃
    BOOL reactsToScreenBoundaries; // 是否对平面边界做出反应
    CGSize screenSize; // 屏幕大小
    GameObjectType gameObjectType; // 物体类型
    -(void)changeState:(CharacterStates)newState; // 转变状态
    -(void)updateStateWithDeltaTime:(ccTime)deltaTime andListOfGameObjects:(CCArray*)listOfGameObjects; // 每帧更新一次状态
    -(CGRect)adjustedBoundingBox; // 调整后的包围盒
    -(CCAnimation*)loadPlistForAnimationWithName:(NSString*)animationName andClassName:(NSString*)className; // 通过plist文件获得动画基本信息

    GameCharacter : GameObject 游戏角色

    int characterHealth; // 健康值
    CharacterStates characterState; // 角色状态
    -(void)checkAndClampSpritePosition; // 检查并调整角色位置
    -(int)getWeaponDamage; //获得该角色提供的伤害值

    RadarDish : GameCharacter 雷达

    // animations
    CCAnimation *...; // 各种动画
    GameCharacter *vikingCharacter; // 主角

    Viking : GameCharacter

    LastPunchType myLastPunch; // 上次攻击时使用的手
    BOOL isCarryingMallet; // 是否有木棍
    CCSpriteFrame *standingFrame; // viking站着时的frame
    // animations
    CCAnimation *...; // 各种动画
    SneakyJoystick *joystick; // 游戏杆
    SneakyButton *jumpButton; // 跳跃按钮
    SneakyButton *attackButton; // 攻击按钮
    float millisecondsStayingIdle; // 休闲时间的毫秒数

  • 相关阅读:
    LuoguP1126 机器人搬重物(BFS)
    POJ1950----DFS
    C
    B
    A
    C
    B
    A
    A
    B
  • 原文地址:https://www.cnblogs.com/ketmales/p/2843259.html
Copyright © 2011-2022 走看看