axmol/tests/cpp-tests/Classes/TerrainTest/TerrainTest.h

90 lines
2.2 KiB
C
Raw Normal View History

2015-01-23 18:09:54 +08:00
#ifndef TERRAIN_TESH_H
2015-01-23 18:09:54 +08:00
#include "../BaseTest.h"
#include "3d/CCSprite3D.h"
#include "3d/CCTerrain.h"
#include "2d/CCCamera.h"
#include "2d/CCAction.h"
DEFINE_TEST_SUITE(TerrainTests);
2015-01-23 18:09:54 +08:00
class TerrainTestDemo : public TestCase
{
protected:
std::string _title;
2015-01-23 18:09:54 +08:00
};
class TerrainSimple : public TerrainTestDemo
{
public:
CREATE_FUNC(TerrainSimple);
TerrainSimple();
virtual std::string title() const override;
virtual std::string subtitle() const override;
2015-01-30 15:46:39 +08:00
void onTouchesMoved(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event);
2015-04-09 12:23:47 +08:00
cocos2d::Terrain* _terrain;
2015-01-23 18:09:54 +08:00
protected:
2015-04-09 12:23:47 +08:00
cocos2d::Camera* _camera;
2015-01-23 18:09:54 +08:00
};
#define PLAYER_STATE_LEFT 0
#define PLAYER_STATE_RIGHT 1
#define PLAYER_STATE_IDLE 2
#define PLAYER_STATE_FORWARD 3
#define PLAYER_STATE_BACKWARD 4
class Player : public cocos2d::Sprite3D
2015-01-23 18:09:54 +08:00
{
public:
2015-04-09 12:23:47 +08:00
static Player * create(const char * file, cocos2d::Camera* cam, cocos2d::Terrain* terrain);
2015-01-23 18:09:54 +08:00
virtual bool isDone() const;
2015-02-02 16:14:13 +08:00
virtual void update(float dt);
2015-01-23 18:09:54 +08:00
void turnLeft();
void turnRight();
void forward();
void backward();
void idle();
cocos2d::Vec3 _targetPos;
void updateState();
float _headingAngle;
cocos2d::Vec3 _headingAxis;
2015-01-23 18:09:54 +08:00
private:
2015-04-09 12:23:47 +08:00
cocos2d::Terrain* _terrain;
cocos2d::Camera* _cam;
int _playerState;
2015-01-23 18:09:54 +08:00
};
class TerrainWalkThru : public TerrainTestDemo
{
public:
CREATE_FUNC(TerrainWalkThru);
TerrainWalkThru();
virtual std::string title() const override;
virtual std::string subtitle() const override;
void onTouchesBegan(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event);
void onTouchesEnd(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event);
protected:
cocos2d::Camera* _camera;
2015-04-09 12:23:47 +08:00
cocos2d::Terrain* _terrain;
2015-02-02 16:14:13 +08:00
Player * _player;
2015-01-23 18:09:54 +08:00
};
2015-02-02 16:14:13 +08:00
2015-08-03 14:02:46 +08:00
class TerrainWithLightMap : public TerrainTestDemo
{
public:
CREATE_FUNC(TerrainWithLightMap);
TerrainWithLightMap();
virtual std::string title() const override;
virtual std::string subtitle() const override;
void onTouchesMoved(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event);
protected:
cocos2d::Terrain* _terrain;
cocos2d::Camera* _camera;
};
2015-01-23 18:09:54 +08:00
#endif // !TERRAIN_TESH_H