ПрограммированиеФорумОбщее

Вопросы по VB6 (2 стр)

Страницы: 1 2 3 425 Следующая »
#15
12:50, 17 фев 2011

СырМан

Найди готовый проект на выбранном движке, самый простой, вроде тетриса. И начни менять строку за строкой, старайся понять что меняется, почему сделано именно так, перечитывай мануал. Когда полностью разберешься как сделан пример, попробуй его повторить, без заглядывания в решение. Далее усложняй пока не получишь то, что хотел.
Ну или учиться, учиться и еще раз учиться, начиная с математики и системного программирования, и только через несколько лет сможешь что-то сделать, правда результат будет более предсказуем чем в первом варианте.
Первый вариант без теоретического фундамента становится намного гиморнее по мере роста сложности проекта, хотя чудеса случаются. Так же, если ты себя позиционируешь как "дизайнера", то твоя задача сделать не столько конечный продукт, сколько рабочую демку геймплея.

#16
15:56, 19 фев 2011

С математикой проблемм нет, есть проблемы с целеустремлённостью

#17
17:16, 19 фев 2011

СырМан
Visual Basic - всеже не лучший вариант, для начала сойдет
Я бы рекомендовал Delphi, если не хочешь учить С++
там разве нет компонента таймер
> 2. Почему fraps не показывает fps моей программки, она же графическая?
очевидно потому что вывод не через OpenGL/DirectX
> 3. Почему я не могу завершить программу когда кубик бегает, она закрывается когда он уже добежал?
Если тебя кубик бегает в цикле, надо добавить условие для прерывания этого цикла, глоб. переменную, которая устанавливается при нажатии кнопки закрытия, а в цикле проверяется. А лучше смещать и перерисовывать кубик по событию от таймера
> 4. Как можно данные о координат кубика передать в label3, во время его движения?
Всмысле, координаты кубика ты же устанавливаешь, вот их и передавай
P.S. глянь еще QBasic 4.5 для DOS, там есть пример игры gorilla.bas

Don Nikola
зачем людей пугаешь своими сказками?

#18
19:36, 19 фев 2011

Aslan

Потому что это не сказки. Разве что имеется в виду игрушки не сложнее змейки с тетрисом. Все что сложнее требует определенного фундамента, либо очень большого терпения. Даже для того чтобы пользоваться конструкторами нужно представлять что там внутри происходит.

P.S.: Да и тот же тетрис, если делать по уму, то тоже не мало получится. У меня исходник такого тетриса весит килов 150 гыгы, автономный exe правда всего килов 60. Но там голый винапи+суровые лисопеды, вроде загрузчика жпегов и т.п., и куча модулей заточенных под другие типы приложений, с упором в легко расширяемый гуи, и исходник собственно контрола "тетрис" весит кила 4-5.

#19
23:53, 19 фев 2011

Don Nikola, почему вы не любите visual basic 6?

#20
0:21, 20 фев 2011

СырМан
> почему вы не любите visual basic 6?
За его толстый рантайм.

#21
11:21, 20 фев 2011

И что, это такой существенный недостаток?

#22
12:32, 20 фев 2011

СырМан
> Обладая базовыми знаниями по программированию, решил поковыряться в Visual
> Basic 6.

Это пофиг, с чего начинать.

СырМан
> 3. Почему я не могу завершить программу когда кубик бегает, она закрывается
> когда он уже добежал?

Наверное, у тебя весь бег кубика записан в одну процедуру. Надо изучить такое понятие, как машина состояний. Бег кубика надо разбить на кванты действия. И в процедуру эту записать только полное описание одного кванта действия.

#23
12:32, 20 фев 2011

KpeHDeJIb
> За его толстый рантайм.

Встроенный в хрюшу по умолчанию?

#24
12:43, 20 фев 2011

СырМан
> 1. Как работает таймер
Ты пытаешься не тот таймер использовать, который тебе нужен

> Как может лучше его по другому создавать?
Есть специальный контрол - Таймер. Он ставится также как и кнопка.
Ему надо задать свойство Interval. Это количество миллисекунд, через которое выполняется функция.
Функцию задаёшь также, как и код кнопки.

> Почему fraps не показывает fps моей программки, она же графическая?
Fraps работает только с DirectX или OpenGL, а здесь рендер софтварный.

> Почему я не могу завершить программу когда кубик бегает, она закрывается когда он уже добежал?
Нужно в основной цикл вставить DoEvents, чтобы программа могла реагировать на внешний мир.

> Как можно данные о координат кубика передать в label3, во время его движения?

   Label1.Caption = "X: " & X & "; Y: " & I
   DoEvents

.Scotina
> Сейчас Mikle обрушит на тебя колонны огня.

и ещё Алпрог поподдакивает

#25
12:44, 20 фев 2011

СырМан

Я про vb6 ничего не говорил. Если объективно, то лучше учить что-то популярное, вроде C++, более распространен, больше готовых примеров, библиотек, больше шансов найти работу по специальности. Хотя лично я пишу на стареньких D6 и не особо переживаю, результат практически тот же, если знать что и как делать.
Кстати, да, программисту действительно нужно стиль мышления менять, учиться на лету разбивать задачи на подзадачи, сразу сортируя их где и как будет выполняться, как с кубиком у Тараса.

Сугубо имхо.

#26
13:00, 20 фев 2011

На этом же сайте, как уже говорил, нашёл статью  "Делаем простенькие игры".  Там как раз на примере тетриса подробно рассказывается как сделать простенькую игру на VB6 и SR2D.  С DoEvents и Таймером вполне разобрался.

#27
13:04, 20 фев 2011

Alprog
> Нужно в основной цикл вставить DoEvents, чтобы программа могла реагировать на
> внешний мир.

Это костыль. Общее решение - машины состояний.

#28
13:13, 20 фев 2011

TarasB
> Это костыль.
Не костыль. Без DoEvents() программа вообще ни на что не реагирует: контролы зависают, события не обрабатываются.
То есть без этого твоя машина состояний не сможет никак узнать, когда это состояние переключить :)

#29
13:43, 20 фев 2011

Alprog
Что-то я не пойму. В программе же должен быть главный цикл (while GetMesage() ...). Должен быть обработчик OnTimer или OnIdle. Вот в него и пихаем квант действия.

Страницы: 1 2 3 425 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.