啊哈磊_编程从这里起步
标题:
【cocos2d-x】多个运动的小球
[打印本页]
作者:
李掌柜
时间:
2016-5-24 17:50
标题:
【cocos2d-x】多个运动的小球
本帖最后由 李掌柜 于 2016-5-24 17:56 编辑
这个帖子是笔记,有想用C或C++语言开发游戏的可以加这个
掌柜的创的Cocos2d-x 学习群:153412944
ball.jpg
(2.25 KB, 下载次数: 25)
下载附件
保存到相册
2016-5-24 17:50 上传
C++代码:
//MoveBalls.h
#ifndef
__Move_Balls_H__
#define
__Move_Balls_H__
#include
"cocos2d.h"
#include
"Ball.h"
USING_NS_CC;
class
MoveBalls : public LayerColor
{
public:
virtual
bool
init();
CREATE_FUNC(MoveBalls);
virtual
void
update(
float
dt);
static
Scene
*
createScene();
private:
//Ball * ball;
cocos2d::Vector
<
Ball
*>
balls;
void
addBall(
float
x,
float
y);
};
#endif
//MoveBalls.cpp
#include
"MoveBalls.h"
Scene
*
MoveBalls::createScene()
{
auto
s
=
Scene::create();
auto
l
=
MoveBalls::create();
s
->
addChild(l);
return
s;
}
bool
MoveBalls::init()
{
LayerColor::initWithColor(Color4B(
255
,
255
,
255
,
255
));
addBall(
100
,
100
);
addBall(
100
,
200
);
addBall(
100
,
300
);
addBall(
100
,
400
);
scheduleUpdate();
return
true
;
}
void
MoveBalls::update(
float
dt)
{
//ball->move();
for
(
auto
it
=
balls.begin(); it
!=
balls.end(); it
++
)
{
(
*
it)
->
move();
}
}
void
MoveBalls::addBall(
float
x,
float
y)
{
auto
ball
=
Ball::create();
ball
->
setPosition(x,y);
addChild(ball);
balls.pushBack(ball);
}
//Ball.h
#ifndef
__BALL_H__
#define
__Ball_H__
#include
"cocos2d.h"
USING_NS_CC;
class
Ball : public Sprite
{
public:
virtual
bool
init();
void
move();
CREATE_FUNC(Ball);
private:
float
speedX;
Size visibleSize;
};
#endif
//Ball.cpp
#include
"Ball.h"
bool
Ball::init()
{
Sprite::initWithFile(
"ball.jpg"
);
visibleSize
=
Director::getInstance()
->
getVisibleSize();
speedX
=
3
;
return
true
;
}
void
Ball::move()
{
setPositionX(getPositionX()
+
speedX);
if
(getPositionX()
>
visibleSize.width)
{
setPositionX(
0
);
}
}
注:
默认生成类HelloWorldScene没有使用,可以删除HelloWorldScene.h和HelloWorldScene.cpp文件
作者:
李掌柜
时间:
2016-5-24 17:58
注:
AppDelegate.cpp文件的
auto scene = HelloWorld::createScene();
director->runWithScene(scene);
替换成:
director->runWithScene(MoveBalls::createScene());
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2