PuzzleSDK
TerrainSimple类 参考

#include <TerrainTest.h>

+ 类 TerrainSimple 继承关系图:
+ TerrainSimple 的协作图:

Public 成员函数

 CREATE_FUNC (TerrainSimple)
 
 TerrainSimple ()
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
void onTouchesMoved (const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 
virtual void onEnter () override
 

Public 属性

cocos2d::Terrain * _terrain
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 

Protected 属性

cocos2d::Camera * _camera
 
- Protected 属性 继承自 TerrainTestDemo
std::string _title
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 

详细描述

在文件 TerrainTest.h42 行定义.

构造及析构函数说明

◆ TerrainSimple()

TerrainSimple::TerrainSimple ( )

在文件 TerrainTest.cpp39 行定义.

40{
41 Size visibleSize = Director::getInstance()->getVisibleSize();
42
43 //use custom camera
44 _camera = Camera::createPerspective(60,visibleSize.width/visibleSize.height,0.1f,800);
45 _camera->setCameraFlag(CameraFlag::USER1);
46 _camera->setPosition3D(Vec3(-1,1.6f,4));
47 addChild(_camera);
48
49 Terrain::DetailMap r("TerrainTest/dirt.jpg"),g("TerrainTest/Grass2.jpg"),b("TerrainTest/road.jpg"),a("TerrainTest/GreenSkin.jpg");
50
51 Terrain::TerrainData data("TerrainTest/heightmap16.jpg","TerrainTest/alphamap.png",r,g,b,a);
52
53 _terrain = Terrain::create(data,Terrain::CrackFixedType::SKIRT);
54 _terrain->setLODDistance(3.2f,6.4f,9.6f);
55 _terrain->setMaxDetailMapAmount(4);
56 addChild(_terrain);
57 _terrain->setCameraMask(2);
58 _terrain->setDrawWire(false);
59 auto listener = EventListenerTouchAllAtOnce::create();
60 listener->onTouchesMoved = CC_CALLBACK_2(TerrainSimple::onTouchesMoved, this);
61 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
62// add Particle3D for test blend
63 auto rootps = PUParticleSystem3D::create("Particle3D/scripts/mp_torch.pu");
64 rootps->setCameraMask((unsigned short)CameraFlag::USER1);
65 rootps->startParticleSystem();
66
67 this->addChild(rootps, 0, 0);
68}
void onTouchesMoved(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
Definition: TerrainTest.cpp:80
cocos2d::Camera * _camera
Definition: TerrainTest.h:52
cocos2d::Terrain * _terrain
Definition: TerrainTest.h:50

引用了 _camera, _terrain , 以及 onTouchesMoved().

+ 函数调用图:

成员函数说明

◆ CREATE_FUNC()

TerrainSimple::CREATE_FUNC ( TerrainSimple  )

◆ onTouchesMoved()

void TerrainSimple::onTouchesMoved ( const std::vector< cocos2d::Touch * > &  touches,
cocos2d::Event *  event 
)

在文件 TerrainTest.cpp80 行定义.

81{
82 float delta = Director::getInstance()->getDeltaTime();
83 auto touch = touches[0];
84 auto location = touch->getLocation();
85 auto PreviousLocation = touch->getPreviousLocation();
86 Point newPos = PreviousLocation - location;
87
88 Vec3 cameraDir;
89 Vec3 cameraRightDir;
90 _camera->getNodeToWorldTransform().getForwardVector(&cameraDir);
91 cameraDir.normalize();
92 cameraDir.y=0;
93 _camera->getNodeToWorldTransform().getRightVector(&cameraRightDir);
94 cameraRightDir.normalize();
95 cameraRightDir.y=0;
96 Vec3 cameraPos= _camera->getPosition3D();
97 cameraPos+=cameraDir*newPos.y*0.5*delta;
98 cameraPos+=cameraRightDir*newPos.x*0.5*delta;
99 _camera->setPosition3D(cameraPos);
100}

引用了 _camera.

被这些函数引用 TerrainSimple().

+ 这是这个函数的调用关系图:

◆ subtitle()

std::string TerrainSimple::subtitle ( ) const
overridevirtual

重载 TestCase .

在文件 TerrainTest.cpp75 行定义.

76{
77 return "Drag to walkThru";
78}

◆ title()

std::string TerrainSimple::title ( ) const
overridevirtual

重载 TestCase .

在文件 TerrainTest.cpp70 行定义.

71{
72 return "Terrain with skirt";
73}

类成员变量说明

◆ _camera

cocos2d::Camera* TerrainSimple::_camera
protected

在文件 TerrainTest.h52 行定义.

被这些函数引用 onTouchesMoved() , 以及 TerrainSimple().

◆ _terrain

cocos2d::Terrain* TerrainSimple::_terrain

在文件 TerrainTest.h50 行定义.

被这些函数引用 TerrainSimple().


该类的文档由以下文件生成: