// load LVL
tmp_Scene->addObject(new SceneObject(shader1, scale(3.f * vec3(1.f,.3f,1.f)), "level_test.dae", "sample_2D.png"));
- tmp_Scene->addObject(new SceneObject(shader1, translate(vec3(0.f,2.f,0.f)), new BBox() , ""));
+ tmp_Scene->addObject(new SceneObject(shader1, translate(vec3(-3.f,1.f,0.f)), new BBox() , ""));
//Player
- SceneObject* tmp_playerObject = new SceneObject(shader1, translate(vec3(1.f, 0.f, 1.f)), "Player.dae", "model_player_2D.png");
+ SceneObject* tmp_playerObject = new SceneObject(shader1, translate(vec3(1.f, 3.f, 1.f))*rotate((float)M_PI_4,vec3(0.f,1.f,0.f)), "Player.dae", "model_player_2D.png");
+
+ tmp_playerObject->yStatic= false;
//tmp_playerObject->setIntelligenz(new PlayerI(tmp_playerObject));
tmp_Scene->addObject(tmp_playerObject);
//ein Gegner
//tmp_Scene->addObject(new SceneObject(shader1, glm::mat4(1.0f), "Player.dae", "model_player.png"));
//tmp_Scene->addObject(new SceneObject(shader1, translate(vec3(-1.f, 2.f, -2.f)), "../models/box/box.dae", "../Textures/sky_withstars.png"));
- //tmp_Scene->addObject(new SceneObject(shader1, translate(vec3(1.f, 3.f, -2.f)), "../models/cow/cow.dae", "../models/cow/texture.jpg"));
+ tmp_Scene->addObject(new SceneObject(shader1, translate(vec3(-3.f, .4f, 0.f))*scale(vec3(3.f)), "cow/cow.dae", "model_cow.jpg"));
//import("level_test.dae", tmp_Scene, shader1);
//import("skybox.dae", numvertices, numfaces, vertex, uvs, normals, index, 0);
genBuffer(vertexBuffer, numvertices * 3 * sizeof(float), (void*)vertex);
- genBuffer(indexBuffer, 4 * sizeof(float), (void*)indexL1);
+// genBuffer(indexBuffer, 4 * sizeof(float), (void*)indexL1);
}
void BBox::drawModel() const
{
- glDrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_INT, 0);
- //glDrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_INT, indexL1);
- //glDrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_INT, indexL2);
- //glDrawElements(GL_LINES, 8, GL_UNSIGNED_INT, indexS1);
+ //glDrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_INT, 0);
+ glDrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_INT, indexL1);
+ glDrawElements(GL_LINE_LOOP, 4, GL_UNSIGNED_INT, indexL2);
+ glDrawElements(GL_LINES, 8, GL_UNSIGNED_INT, indexS1);
glBindVertexArray(0);
}
\ No newline at end of file
// XYAchse um den Player
viewPort->rotateView(0.002f*Events::getViewX(), 0.001f*Events::getViewY());
+ //Jump
+ if (Events::getJump())
+ lookat->ySpeed = 20;
+
// MOVE Player
if (move_x)
lookat->move(SPEED_MOVE_NORMAL *move_x * deltaT * viewPort->rotateDirection(vec3(-1.f, 0.f, 0.f)));
using std::cout;
using std::endl;
+
+#define YFALL_SPEED 9.f
+
SceneObject::SceneObject(Shader* _shader, mat4& _modelMat, string _modelpath, string texturepath, unsigned int _model_index) :
model(new IMetaMesh(_modelpath)),
modelMat(_modelMat),
shader(_shader),
mainScene(NULL),
collision_ignore(false),
-texture(nullptr)
+texture(nullptr),
+ySpeed(0),
+yStatic(true)
{
//Message::info("Error from befor?");
//Graphix::getGlError();
shader(_shader),
mainScene(NULL),
collision_ignore(false),
-texture(nullptr)
+texture(nullptr),
+ySpeed(0),
+yStatic(true)
{
//Message::info("Error from befor?");
//Graphix::getGlError();
void SceneObject::update(float deltaT)
{
+ if (!yStatic)
+ {
+ vec3 pos = getPosition();
+ if (pos.y > 0 || ySpeed>0) //Aktuelle Bodenhöhe
+ {
+ modelMat = translate(vec3(0.f, ySpeed*deltaT, 0.f))*modelMat;
+ ySpeed -= deltaT*YFALL_SPEED;
+ }
+ }
+
//modelMat = scale(modelMat, vec3(matter));
//modelMat = (deltaT * spin) * modelMat; //TODO drehen scheint nicht zu funktionieren
__declspec(deprecated)
bool isEnemy();
+ bool yStatic;
+ float ySpeed;
+
protected:
void setMatter(float);
mat4 modelMat;
+
+
//__declspec(deprecated)
//unsigned int modelID;
view_dist(2),
view(0.f)
{
- rotateView(0.f, 0.f);
+ rotateView(0.f, -.5f);
}