实训十(平台的实现)

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

用到的方法,即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 多点触摸

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

时间: 2024-11-04 02:56:10

实训十(平台的实现)的相关文章

安卓实训第十天:利用SharedPreferences来实现数据的保存和读取,以及实现手机电话备份,XMLserializer

一.利用SharedPreferences来实现数据的保存和读取: 1.Mainactivity: package com.example.sharedpreferencesdemo; import com.example.sharedpreferencesdemo.util.SharedPreferencesUtil; import android.app.Activity; import android.app.AlertDialog; import android.content.Cont

安卓实训第十四天---使用ContentProvider共享数据,并且利用ContentResolver监听共享数据

ContentProvider: 一.当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据:采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据.而使用ContentProvider共享数据的好处是统一了数据访问方式. 第二步需要在AndroidManif

中智讯-开放式智慧教室实训系统建设方案

中智讯(武汉)科技有限公司开放式智慧教室实训系统建设方案 1   智慧教室项目开发背景1.1    互联互通的物联网技术 随着网络覆盖的普及,人们提出了一个问题,既然无处不在的网络能够成为人际间沟通的无所不能的工具,为什么我们不能将网络作为物体与物体沟通的工具,人与物体沟通的工具,乃至人与自然沟通的工具?于是,物联网技术的发展应运而生.物联网是"万物沟通"的.具有全面感知.可靠传送.智能处理特征的连接物理世界的网络,实现了任何时间.任何地点及任何物体的连结.可以帮助实现人类社会与物理世

实训二----博客三- 学期总结

本学期期末总结 1:本学期学习内容 本学期共十五章学习内容,课上共学十二章内容,自学两章内容.第一章java入门,这一章学习了Java的由来和安装Java软件.第二章基本数据类型与数组,学习了标识符与关键字,基本数据类型,类型转换运算,输入输出数据和数组.第三章主要学习了运算符与表达式还有If条件分支语句循环语句.第四章和第五章分别学习了类与对象和子类与继承,这两个是很重要的内容,也是我没有学好的内容.第六章接口与实现第七章内部类与异常类.第八章常用实用类,主要是String类date类.第十章

山西高平地域文化导入美术设计实训项目的实践

地域文化,是指某个地域的人们在特定的范围内,在自然环境的基础上,在长期的生产生活中创造的.人类活动的产物.山西高平是神农炎帝的故里,长平之战的发生地,是一个有着很深文化积淀的新兴城市,行政区域是国土面积的万分之一,却浓缩了中国五千年文化的精髓.本文通过对山西高平丰富的历史文化资源的调查研究,探讨如何将地域文化元素导入中职美术设计专业的实训项目教学过程,论证典型地域文化元素在中职美术设计教育中的独特作用,并以此作为教学实训素材,依托带有典型地域文化特征的企业真实案例,结合教育教学实践,探索中职美术

c++课程实训 银行储蓄系统

基本要求:定义了用户类(User)和银行类(Bank),用成员函数实现各种功能,多文件组织程序.能用文本文件存取数据(如演示样例中给出的技术): 拓展方向: 序号 加分项目 细       则 1 改变Bank类中用户信息的存储方式 用对象的指针数组存储(User *user[upNum]) 或者用动态数组(User *users.空间用new分配) 2 功能扩充 按银行实际业务的要求,添加User类中的数据成员,可以记录身份证号.家庭住址等信息,并在相关业务中使用这些数据. 记录用户的每一笔业

HTML+CSS网站实训项目总结

  学完HTML+CSS,迎来的最重要的是网站实训和答辩的准备.          第一次的项目分配,因剪刀石头布的手气,得到第二名的机会,却实在不怎么了解各个网站,(当然除了最熟悉的淘宝),选择了组员的要求——国美在线.          国美在线,是国美电器唯一官方商城,中国领先的专业家电网购平台.          这是第一次做的团队小项目,也是第一次以组长的身份和组员进行磨合和合作.          于组长的身份,这是最大的感受除了开始拿到项目的时候的小小激动,就是怕分工不恰当和组织不

.NET MVC4 实训记录之五(访问自定义资源文件)

.Net平台下工作好几年了,资源文件么,大多数使用的是.resx文件.它是个好东西,很容易上手,工作效率高,性能稳定.使用.resx文件,会在编译期动态生成已文件名命名的静态类,因此它的访问速度当然是最快的.但是它也有个最大的缺点,就是修改资源文件后,项目必须重新编译,否则修改的资源不能被识别.这对于维护期的工作来讲,非常麻烦.尤其是已经上线的项目,即使是修改一个title的显示,也需要停掉项目.由于本人做了好几年的维护,应该是从工作到现在,一直没有间断过的做维护项目,因此深受其害!必须找到一个

2013-2014-2学期,综合实训概况

1.选题 (1)学生管理信息系统 (2)宿舍管理信息系统 (3)仓库管理信息系统 (4)员工管理信息系统 (5)婚礼抽奖程序 (6)自选课题 2.分组 (1)郑超.周瑾玉.覃川川,题目:学生成绩管理系统设计: (2)施越佳.杨焕槟.徐家豪,题目:学生管理系统设计: (3)马晓翠.沈利.叶黎明.题目:宿舍管理系统设计: (4)赵瑛杰.陈云武.王凌雯.题目:学员培训管理系统设计: (5)张琳.袁金萍.吴剑,题目:宿舍管理系统设计; (6)周行.徐诗雨.连宁宁,题目:美食管理系统设计: (7)张朋.求