1>:点和像素的区别?
点可以说是硬件设备最小的显示单元。而像素则既可是一个点,又可是多个点的集合。
2>:场景(关卡)主要由“布景”和“人物角色”组成
//------------
层(CCLayer)
布景在cocos2d-x引擎里面对应的类为CCLayer(层)
每个游戏场景中都可以有很多层,每一层负责各自的任务,
如:专门负责显示背景,专门负责显示道具,专门负责显示人物角色。
在每一层上面可以放置不同的元素,包括文本,精灵和菜单(这里使用addChild实现添加)
为了看到每一层上的东西,很多层都设置成透明,否则大家只能看到最上面一层了
。
布景(CCLayer)就是每个场景里面的背景 地图 建筑物
人物(CCSprite)
动作(CCAction)都是演员的运动
//------------
精灵(CCSprite)
人物角色在cocos2d-x引擎里面对应的类为CCSprite(精灵)
如 飞机 坦克 人物 云 鸟等都是精灵
精灵就是一个可以不断变化的图片,包括位置,旋转,放大,缩小和运动等。
//------------
动作(CCAction)
cocos2d-x中的动作就是动画 不依赖于节点 但是在运行时需要指定节点为目标。
如:精灵移动到坐标为(100,100)的位置
//创建精灵
CCSprite *sprite = CCSprite::spriteWithFile("action_apritel.png");
//创建移动到的动作
CCActionInterval *actionTo = CCMoveTo::actionWithDuration(2,CCPointMake(100,100));
//动作执行
sprite->runAction(actionTo)
//------------
菜单(CCMenu)
菜单的实现类为CCMenu 菜单项的实现类为CCMenuItem,,菜单是一组菜单项的集合
如:
//设置字体大小
CCMenutItemFont::setFontSize(24);
//创建开始游戏菜单项
CCMenuItemFont *start = CCMenuItemFont::itemFromString("开始游戏",this,“”);
CCMenuItemFont *exit = CCMenuItemFont::itemFromString("退出游戏",this,“”);
//创建菜单
CCMenu *menu = CCMenu::menuWithItems(start,exit,NULL);
把需要渲染的对象放到CCScene(场景)里面统一管理,由添加对象方法实现
addChild ,因为CCScene继承CCNode。
游戏中的元素包括菜单 图片 标签 人物 花草树木 道具
cocos2d-x是怎样将游戏中各元素有序地管理起来并一一渲染呢?
首先游戏的界面存在很多层(CCLayer),元素被添加到层里面之后(使用addChild()),cocos2d-x引擎在渲染层
的时候会同时渲染里面的元素,这样就可以渲染出游戏界面了。
如:标签
CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);
this->addChild(pLabel, 1);
点可以说是硬件设备最小的显示单元。而像素则既可是一个点,又可是多个点的集合。
2>:场景(关卡)主要由“布景”和“人物角色”组成
//------------
层(CCLayer)
布景在cocos2d-x引擎里面对应的类为CCLayer(层)
每个游戏场景中都可以有很多层,每一层负责各自的任务,
如:专门负责显示背景,专门负责显示道具,专门负责显示人物角色。
在每一层上面可以放置不同的元素,包括文本,精灵和菜单(这里使用addChild实现添加)
为了看到每一层上的东西,很多层都设置成透明,否则大家只能看到最上面一层了
。
布景(CCLayer)就是每个场景里面的背景 地图 建筑物
人物(CCSprite)
动作(CCAction)都是演员的运动
//------------
精灵(CCSprite)
人物角色在cocos2d-x引擎里面对应的类为CCSprite(精灵)
如 飞机 坦克 人物 云 鸟等都是精灵
精灵就是一个可以不断变化的图片,包括位置,旋转,放大,缩小和运动等。
//------------
动作(CCAction)
cocos2d-x中的动作就是动画 不依赖于节点 但是在运行时需要指定节点为目标。
如:精灵移动到坐标为(100,100)的位置
//创建精灵
CCSprite *sprite = CCSprite::spriteWithFile("action_apritel.png");
//创建移动到的动作
CCActionInterval *actionTo = CCMoveTo::actionWithDuration(2,CCPointMake(100,100));
//动作执行
sprite->runAction(actionTo)
//------------
菜单(CCMenu)
菜单的实现类为CCMenu 菜单项的实现类为CCMenuItem,,菜单是一组菜单项的集合
如:
//设置字体大小
CCMenutItemFont::setFontSize(24);
//创建开始游戏菜单项
CCMenuItemFont *start = CCMenuItemFont::itemFromString("开始游戏",this,“”);
CCMenuItemFont *exit = CCMenuItemFont::itemFromString("退出游戏",this,“”);
//创建菜单
CCMenu *menu = CCMenu::menuWithItems(start,exit,NULL);
把需要渲染的对象放到CCScene(场景)里面统一管理,由添加对象方法实现
addChild ,因为CCScene继承CCNode。
游戏中的元素包括菜单 图片 标签 人物 花草树木 道具
cocos2d-x是怎样将游戏中各元素有序地管理起来并一一渲染呢?
首先游戏的界面存在很多层(CCLayer),元素被添加到层里面之后(使用addChild()),cocos2d-x引擎在渲染层
的时候会同时渲染里面的元素,这样就可以渲染出游戏界面了。
如:标签
CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);
this->addChild(pLabel, 1);