Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
#1

Ошибка в Visual Studio - C++

20.10.2013, 17:32. Просмотров 463. Ответов 10
Метки нет (Все метки)

Привет всем) Я нуб в игрострое) Помогите мне с проблемкой. Делал игру на Visual Studio 2010 Pro по этому уроку (https://www.youtube.com/watch?v=6OHMFwQK44k). Дошел до создания карты. Сделал код как в уроке(мой код есть во вложении 123). Запустил и появилось это (вложение "не" и открылся код(вложение "щш")) Как это исправить??? Заранее большое спасибо
0
Миниатюры
Ошибка в Visual Studio   Ошибка в Visual Studio  
Вложения
Тип файла: txt 123.txt (4.1 Кб, 6 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 17:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в Visual Studio (C++):

Имеются ли отличия в компиляторах у сред разработки Visual Studio 2006 и Visual Studio 2015 ? - C++
скажите а где найти среду 2006 года? или можно использовать 2015 год?

Visual Studio Team Foundation Serverl или Visual Studio Professional - C++
Visual Studio Team Foundation Server 2010 Кто пользовался Visual Studio Team Foundation Server 2010, и чем она отличаеться от Visual...

Visual studio. Ошибка - C++
При компиляции вылетает данная ошибка. Пробовал на разных устройствах и версиях Visual Studio. Появляется в MFC на дмиалоговых окнах, либо...

Visual Studio 2008 ошибка - C++
Вот установил Visual Studio 2008 на 5 компах, пашет все нормально! Дистрибутив студии качественный! И на Win7 и на Xp становиться и...

Ошибка LNK1561/Visual Studio/ С++ - C++
Пишет LNK1561 точка входа должна быть определена,т.е. мне нужно ввести функцию main(), но при вводе возникает проблема, одну из фигурных...

Ошибка в Visual Studio 2010 - C++
Здравствуйте, буду признателен, если поможете разобраться) Установил вот Visual Studio 2010, решил опробовать, а он при компиляции вот...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2013, 18:31 #2
Где-то выход за границу строки.
1
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
20.10.2013, 18:47  [ТС] #3
Извините я новичок можно поподробней
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2013, 18:53 #4
Вот так перепишите:
C++
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i < H; i++)
            for (int j = 0; j < TileMap[i].getSize(); j++)
            {
                if (TileMap[i][j] =='B') rectangle.setFillColor(Color::Black);
 
                if (TileMap[i][j] =='0') rectangle.setFillColor(Color::Green);
 
                if (TileMap[i][j] ==' ') continue;
            
                rectangle.setPosition(j*32,i*32);
                window.draw(rectangle);
            }
У вас, в массиве строк, есть строки (первая, последняя), которые короче чем 40 символов, поэтому в цикле происходит выход за границу строки.
1
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
20.10.2013, 19:12  [ТС] #5
Спасибо заработало)) но чето не отрисовывает мою карту) буду исправлять

Добавлено через 10 минут
Если кто то знает почему карта из массива не отображается помогите)
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2013, 20:21 #6
C++
1
RectangleShape rectangle(Vector2f(32, 32));
1
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
20.10.2013, 21:25  [ТС] #7
черт) спасибо тебе от душы) Теперь все будет))

Добавлено через 1 час 0 минут
На этом коде тоже самое(( Как его переделать???

void CollisionX()
{
for (int i = rect.top/32; i < (rect.top + rect.height)/32; i++)
for (int j = rect.left/32; j < (rect.left + rect.width)/32; j++)
{

if (TileMap[i][j] == 'B')
{
if (dx>0) rect.left = j*32 - rect.width;
if (dx<0) rect.left = j*32 + 32;
}
}
}

void CollisionY()
{
for (int i = rect.top/32; i < (rect.top + rect.height)/32; i++)
for (int j = rect.left/32; j < (rect.left + rect.width)/32; j++)
{

if (TileMap[i][j] == 'B')
{
if (dx>0) { rect.left = i*32 - rect.height; dy=0; onGround = true; }
if (dx<0) { rect.top = i*32 + 32; dy=0;}
}
}
}
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2013, 21:32 #8
Цитата Сообщение от простоВадим Посмотреть сообщение
На этом коде тоже самое
То же самое, что?
0
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
20.10.2013, 21:36  [ТС] #9
ошибка как и в первом примере((
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2013, 21:41 #10
rect.top, rect.left, rect.height, rect.width - что это?
0
простоВадим
2 / 2 / 0
Регистрация: 04.08.2013
Сообщений: 69
21.10.2013, 11:38  [ТС] #11
Для создания обьекта в игре я использую квадрат(rect) 64*64. rect.left его левый угол и т.д

Добавлено через 12 часов 27 минут
Я понял в чем была проблема) Как было сказана тут
Цитата Сообщение от alsav22 Посмотреть сообщение
Где-то выход за границу строки.
Ошибка возникает из за не правильного построения массива.

String TileMap[H] = {

"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",
"B B",
"B B",
"B B",
"B B",
"B 000000 B",
"B B",
"BBB B",
"B B B",
"B B B",
"B B B",
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB",

};

Все буквы B отвечающие за отрисовку карты должны бить строго в рамках 12*40. Если этого не будет, будет ошибка

Добавлено через 1 час 23 минуты
И еще вот что, таким нубам как я)) В программировании очень важно как расположены строчки кода. Пример:

if (!onGround) dy=dy+0.0005*time;
rect.top += dy*time;
CollisionY();
onGround=false;

строчка Collision находиться перед строчкой onGround, так работать не будет((


if (!onGround) dy=dy+0.0005*time;
rect.top += dy*time;
onGround=false;
CollisionY();

Так работать будет)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 11:38
Привет! Вот еще темы с ответами:

Ошибка в visual studio 2010 - C++
как исправить эту ошибку ?

Ошибка в visual studio 2010 c++ - C++
Доброго времени суток, друзья! У меня такая проблема, что при запуске программы vs10 выдает ошибку(см.скрин ниже). Знаю, что у многих...

Visual Studio - нормально, g++ - ошибка - C++
Здравствуйте. Осваиваю умные указатели, взял самый простой пример. #include &lt;iostream&gt; using namespace std; class Object ...

Ошибка установки Visual Studio 2015 - C++
До переустановки системы все нормально устанавливалось и работало. При установке вылезают ошибки: Team Explorer for Microsoft Visual...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.10.2013, 11:38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru