Neue Entities einfügen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Neue Entities einfügen

      So ich habe mit meiner Crap Mod schon einieges gelernt. Nun habe ich Probleme ein neues Entity einzufügen, sprich Laser Türen, Schilder die einen verfolgen.

      Als erstes wollte ich mich an einer Wand versuchen. Die Klasse habe ich bereits erstellt. Sie enthält nur die eingenschaften vec2 from und to. Sonst normal Tick, Reset und Snap. Nun liegt das Problem, das ich nicht weis, wo ein Wand Objekt erstellt werden soll.

      Die Koordinaten für Anfang und Ende werden über die Map ermittelt. Währe wieder super wenn einer helfen kann ::D:
      Meine HP könnte dich auch intressieren
    • Ehm... es gibt nen kleinen Unterschied zwischen Tiles und Entities... ich versuche ihn mal zu erklären =)

      Also Tiles, genauergenommen GameTiles sind Felder auf der Map, z.B Unhookable, Death Tile... diese beziehen sich auf einen character.
      d.h. ihre funktion wird nur erfüllt, wenn man sich auf diese draufstellt oder sie halt einfach auf einer BESTIMMTEN POSITION abfragt

      Quellcode

      1. GameServer()->Collision()->GetCollisionAt(m_Pos.x+m_ProximityRadius/3.f, m_Pos.y-m_ProximityRadius/3.f)&CCollision::COLFLAG_DEATH // befindet man sich auf einem Death Tile??


      Entities sind hingegen Objekte, jedes Feld der Map wird auf diese Überprüft, dazu gehören Pickups, Weapons...

      wird so ein DIng gefunden, wird ein neues Objekt erstellt, eine unterklasse von Entity

      Quellcode

      1. CPickup *pPickup = new CPickup(&GameServer()->m_World, Type, SubType);
      2. pPickup->m_Pos = Pos;


      Diesen Code findet man in gamecontroller.cpp (bool IGameController::OnEntity(int Index, vec2 Pos))

      dein Code müsste dementsprechend ungefähr so aussehen:

      Quellcode

      1. else if(Index == ENTITY_WALL)
      2. {
      3. CWall *pWall= new CWall(&GameServer()->m_World, Pos);
      4. return true;
      5. }



      Falls du fragen hast oder genauere Hilfe brauchst, frag einfach hier oder per PN in Skype


      Mfg. Pikotee