Среда, 18 Декабря 2024, 19:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Конструктор в конструкторе
RenusДата: Среда, 15 Сентября 2010, 08:30 | Сообщение # 1
почетный гость
Сейчас нет на сайте
При написании собственного модуля для определения столкновений столкнулся с такой проблемкой.
Есть класс для определенных объектов, к примеру пуль, у этого класса разумеется есть свой конструктор с задаваемыми значениями, с помощью которого создаются объекты этого класса. Так вот этот класс содержит в себе переменную coll_mask, которая является структурой и содержит в себе количество и координаты точек маски столкновений...
Вся соль в том, что для определения coll_mask, не получается применить никакой конструктор кроме конструктора по умолчанию, даже при вызове конструктора со значениями, вызывается конструктор по умолчанию(((
В чем тут дело, разве нельзя вызывать конструктор из конструктора?
Вот код для наглядности:

Code
CPlayer::CPlayer(float x, float y, float rot, hgeSprite* sprite, float hscale, float vscale)
: CObject(x, y, rot, sprite, hscale, vscale)
{
  type="player";
  lives = 3;
  armor = 100;
  shield = 100;
  score = 0;
  can_shoot = 10;
  move_speed = 10;
  Cmask coll_mask(type); // Вот тот самый гадский конструктор
}

Расскажите пожалуйста, в чем тут дело!!!!!!!!
Буду очень благодарен

Добавлено (15.09.2010, 08:30)
---------------------------------------------
Спасибо уже сам разобрался, удалите тему...

nilremДата: Среда, 15 Сентября 2010, 09:33 | Сообщение # 2
Просветленный разум
Сейчас нет на сайте
Quote (Renus)
Спасибо уже сам разобрался, удалите тему...

Зачем удалять. Отписался бы в чем причина, пусть и другие знают.
Хотя причина, скорее всего, в кривых руках)


Windmill 2

WindMill 2D Game Engine
RenusДата: Среда, 15 Сентября 2010, 16:39 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Да просто после 4 пар мозги отключились, за то вечером сел и сразу все сделал...
Если кому надо то я решил это так:

Code
CObject::CObject(float px, float py, float prot, hgeSprite* psprite, std::string ptype) : coll_mask(ptype) // Основной класс
{
  // Тело конструктора
  type=ptype;
}

CBullet::CBullet(float x, float y, float rot, hgeSprite* sprite, std::string type) // Наследуемый класс
: CObject(x, y, rot, sprite, type)
{
         // Тело конструктора
}

Если кому надо, то после конкурса могу написать урок по определению столкновений любых фигур состоящих из отрезков, при помощи теоремы Крамера, хотя там все просто, класс 9 или 10, если мне память не изменяет)))

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг