Воскресенье, 17 Ноября 2024, 19:37

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Класс пули.
SanAVДата: Понедельник, 18 Октября 2010, 16:10 | Сообщение # 1
Alex Versus
Сейчас нет на сайте
Всем доброго дня.
Честно говоря, для меня уже крайнее дело обращаться за помощью на форум, но в течении двух недель я так и не смог написать класс пули.
Что имеется:
- Game.cpp - основной файл программы
- Class.cpp - файл с классами
- global.h - глобальные переменные (разрешение экрана, управление)
- Player.h - Заголовочный файл для класса Player.

Ругань компилятора:

Code

1>*\class.cpp(64) : error C2552: a: инициализация не агрегированных данных с помощью списка инициализации не допускается
1>        bullet: типы с закрытыми или защищенными данными-членами не являются агрегатными
1>*\class.cpp(65) : error C2352: bullet::move: недопустимый вызов нестатической функции-члена
1>        *\class.cpp(27): см. объявление 'bullet::move'

Где
64:

27:

Требуется указать, почему ругается компилятор. Заранее благодарен.


My Games:
· [2D, TDS] Death Embrace.
zadrot_666Дата: Понедельник, 18 Октября 2010, 16:18 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Quote (SanAV)

bullet a={1,1};

Боже мой.... У тебя же члены класса пули x и y находятся в блоке private!!! А ты их пытаешься инициализировать при создании переменной a
(bullet a={1,1};)

Quote (SanAV)

bullet::move(1,1);

Ты меня убиваешь... a.move(1, 1);

Ты делаешь элементарнейшие ошибки, а уже пытаешься написать игру? Кури самоучители по С++.

Quote (SanAV)
Честно говоря, для меня уже крайнее дело обращаться за помощью на форум

Очень плохо что крайнее, ибо не помешало бы почаще обращаться biggrin :D biggrin


Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine? © SHODAN.

Сообщение отредактировал zadrot_666 - Понедельник, 18 Октября 2010, 16:19
SanAVДата: Понедельник, 18 Октября 2010, 16:25 | Сообщение # 3
Alex Versus
Сейчас нет на сайте
zadrot_666, благодарю, вынес переменные в паблик, изменил вызов функции - все работает. Видимо плохо прокурил учебник.
Quote (zadrot_666)
ибо не помешало бы почаще обращаться biggrin

Ну хорошо, раз название темы позволяет biggrin
Пуля создается и нормально существует только пока нажата клавиша мыши.
Чтобы пуля существовала и после ого, как отпустил кнопку мыши, надо использовать деструктор или есть другие способы?


My Games:
· [2D, TDS] Death Embrace.


Сообщение отредактировал SanAV - Понедельник, 18 Октября 2010, 16:25
zadrot_666Дата: Понедельник, 18 Октября 2010, 16:35 | Сообщение # 4
почетный гость
Сейчас нет на сайте
А ты как ввод обрабатываешь? С помощью сообщений Windows? Если да, тогда создавай пулю не в обработчике событий, а вне его, так как когда обработчик событий (функция) кончается (return DefWindowsProc... или как там у тя), пуля ессесно удаляется. Создай ей (их) вне обработчика.

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine? © SHODAN.
  • Страница 1 из 1
  • 1
Поиск:

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