Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 6, 2017, 4:06:54 PM (7 years ago)
Author:
vyang
Message:

TestLevel Design → immer noch mit Fehlermeldungen, Asteroiden in der death() Methode von AsteroidsStone spawnen oder im game?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/Asteroid_HS17/src/modules/asteroids/AsteroidsStone.cc

    r11528 r11541  
    3939#include "util/Math.h"
    4040
     41
    4142namespace orxonox
    4243{
     
    4748        RegisterObject(AsteroidsStone);
    4849
    49 
    50 
    5150        maxspeed = 50.0f;
    52         //Random Spawn? pos= random?
     51        //Random Spawn? pos= random? -> spawn durch timer in der Asteroids Klasse
    5352        this->setPosition(rnd(0, fieldWidth_), rnd(0, fieldHeigth_), 0);
    54                 if(r){
    55                         this.r = r*0.5;
    56                 }else{
    57                         this.r = rnd(15, 50);
    58                 }
    5953
    6054                //random Geschwindigkeit und Richtung
    6155                velocity.x = rnd(0, maxspeed);
    6256                velocity.y = rnd(0, maxspeed);
     57        this->context = context;
    6358    }
     59
     60    void Asteroids::death()
     61    {
     62        if(this->size == 1){
     63            Pawn::death();
     64        }else if(this->size == 2){
     65            Pawn::death();
     66
     67            //Wie mache ich das ? Eigentlich in der game Klasse? sonst zeigt der Pointer auf einen falschen Bereich
     68
     69            for(int i = 0; i<2; i++)
     70            {
     71                AsteroidsStone* newStone;
     72                newStone = new AsteroidsStone(this->context);
     73                newStone->addTemplate("asteroidsstone");
     74                newStone->setAsteroidsPlayer(player);
     75            }
     76
     77        }
     78    }
     79
     80
    6481//Bis hier geschrieben
    6582    void AsteroidsStone::tick(float dt)
     
    6784        Vector3 pos = this->getPosition();
    6885        pos.x += velocity.x*dt;
    69         pos.y += velocity.y*dt;
     86        pos.z += velocity.y*dt;
     87
     88        if(pos.y != 0){
     89            pos.y=0;
     90        }
    7091        setPosition(pos);
    7192        SUPER(AsteroidsStone, tick, dt);
Note: See TracChangeset for help on using the changeset viewer.