Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 27, 2017, 5:00:59 PM (8 years ago)
Author:
vyang
Message:

Asteroids2D erfolgreich als Minigame eingebunden, Dimensionen des Spielfeldes werden im CenterPoint gesetzt.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.cc

    r11593 r11608  
    5555    void Asteroids2DShip::tick(float dt)
    5656    {
    57         Vector3 pos = getPosition();
    58 
    59         //Movement calculation
    60         lastTimeFront += dt * damping;
    61         lastTimeLeft += dt * damping;
    62         lastTime += dt;
    63 
    64         velocity.x = interpolate(clamp(lastTimeLeft, 0.0f, 1.0f), desiredVelocity.x, 0.0f);
    65         velocity.y = interpolate(clamp(lastTimeFront, 0.0f, 1.0f), desiredVelocity.y, 0.0f);
    66 
    67         //Execute movement
    68         if (this->hasLocalController())
    69         {
    70             float dist_y = velocity.y * dt;
    71             //float dist_x = velocity.x * dt;
    72             if(dist_y + posforeward > -42*3 && dist_y + posforeward < 42*6)
    73                 posforeward += dist_y;
    74             else
    75             {
    76                 velocity.y = 0;
    77                 // restart if game ended
    78 /*
    79                 if (getGame())
    80                     if (getGame()->bEndGame)
    81                     {
    82                         getGame()->start();
    83                         return;
    84                     }*/
    85             }
    86 
    87             pos += Vector3(1000 + velocity.y, 0, velocity.x) * dt;
    88         }
    89 
    90         // bring back on track!
    91         if(pos.y != 0)
    92         {
    93             pos.y = 0;
    94         }
    95 
    96         setPosition(pos);
    97         setOrientation(Vector3::UNIT_Y, Degree(270));
    98 
    9957        SUPER(Asteroids2DShip, tick, dt);
    10058    }
    10159
    102     void Asteroids2DShip::moveFrontBack(const Vector2& value)
     60    void Asteroids2DShip::updateLevel()
     61    {
     62        lastTime = 0;
     63        if (getGame())
     64            getGame()->levelUp();
     65    }
     66
     67/*    void Asteroids2DShip::moveFrontBack(const Vector2& value)
    10368    {
    10469        //lastTimeFront = 0;
    10570        //desiredVelocity.y = value.y * speed * 42;
    106 
     71        orxout() << "FrontBack" << endl;
     72        SUPER(Asteroids2DShip, moveFrontBack, value);
    10773    }
    10874
    10975    void Asteroids2DShip::moveRightLeft(const Vector2& value)
    11076    {
    111         lastTimeLeft = 0;
    112         desiredVelocity.x = value.x * speed;
     77        //lastTimeLeft = 0;
     78        //desiredVelocity.x = value.x * speed;
     79        orxout() << "RightLeft" << endl;
     80        SUPER(Asteroids2DShip, moveFrontBack, value);       
    11381    }
     82 */
    11483    void Asteroids2DShip::boost(bool bBoost)
    11584    {
     
    139108    void Asteroids2DShip::death()
    140109    {
    141         //getGame()->costLife();
     110        getGame()->costLife();
    142111        SpaceShip::death();
    143112    }
Note: See TracChangeset for help on using the changeset viewer.