实训十(平台的实现)

Posted 恨revenge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实训十(平台的实现)相关的知识,希望对你有一定的参考价值。

首先是开始按钮的设计,没有开始游戏也就无从开始

用到的方法,即MenuItemSprite的使用

其中,需要注意的是它有五个参数Node*Node*Node*Ref*SEL_MenuHandler前三个类型的意义分别是未点击时的状态点击时的状态无法点击时的状态,第四个目标对象,第五个是回调函数,其他相似方法的参数请到源码中获知。

另外,在Menu中所有的按钮都需要加载到Menu对象中,才能够显示出来。

然后是,人物所在平台

在资源文件夹中有一张平台信息的图片,使用循环的话,可以更方便简洁

所以在,background.h文件中添加如下代码:

Sprite* stage_sprite[3];
int stage_number;
然后,在cpp文件中的init()方法中添加
for(int i = 0;i<3;i++)
{
    stage_sprite[i] = Sprite::create("/D:\android\cocos2d-x-3.10\tools\cocos2d-console\bin\Stick_mxj\Resources、stage1.png");
 
}
 
stage_sprite[0]->setScaleX(30);
 
for(int i = 1;i<3;i++)
{
    stage_sprite[i]->setPosition(Vec2(MyWinSize.width + stage_sprite[i]->getScaleX()*stage_sprite[i]->getContentSize().width, stage_sprite[i]->getContentSize().height/2));
}
 
stage_sprite[0]->setPosition(Vec2(MyWinSize.width/2, stage_sprite[0]->getContentSize().height/4));
 
for(int i = 0;i<3;i++)
{
    this->addChild(stage_sprite[i],3);
}
即,将平台显示到屏幕中央
接下来是,点击开始时,相关的按钮消失,平台移动到左侧
void BackgroundLayer::Start(Ref* pSender)
{
    this->removeChild(menu);
    this->removeChild(GameName);
    MoveTo* stageMove = MoveTo::create(0.2, Vec2(100,stage_sprite[0]->getContentSize().height/2));
    stage_sprite[0]->runAction(stageMove);
    addStage();
}
最后,触摸事件的注册,即点击屏幕,需要有相应的动作响应,需要注意的是
  • EventListenerTouchOneByOne 单点触摸
  • EventListenerTouchAllAtOnce 多点触摸

代码不是很难,就不再赘述了

 

以上是关于实训十(平台的实现)的主要内容,如果未能解决你的问题,请参考以下文章

非关系型数据库实训-大数据平台及应用

ZStack Cloud助力上海财经大学建设大数据AI实训云平台

头歌实践教学平台答案(Python实训答案之循环结构)

头歌(Educoder)实践教学平台——Hive综合应用案例

最老程序员创业开发实训4---IOS平台下MVC架构

数据库在线实训平台-Redis篇