Другие языки программирования и технологии

Вопрос про Visual Basic

Я уже видел примеры с прыгающими кнопками и мячиками отскакивающих от стен.
А возможно ли на VB создавать игры с гравитацией? Я так понимаю, нужен определённый движок...
Но мне нужна не такая гравитация как в Марио, а что-то вроде Crayon Physics, Angry Birds.
Nurmuhammet Allanazarov
Nurmuhammet Allanazarov
1 375
Сделать, конечно, можно, но для создания игр подойдут более сильные языки программирования. А еще лучше - специальные игровые движки. На VB не программировал. Но на паскале как-то делал. Нужно знать законы физики - величины и формулы. Это кажется, что сложно, на самом деле их две или три. Я про гравитацию.
ДГ
Джамиль Гусейнов
1 961
Лучший ответ
Nurmuhammet Allanazarov Спасибо за информацию! Но я бы не сказал что VB слабоват, вполне можно делать небольшие 2D платформеры и гоночки.

P.S.
Кстати, сейчас работаю над интересным проектом - программируемый робот. Читал учебник по информатике, и там есть исполнитель робот, и есть мини-язык программирования. Я решил его воплотить.
движок упрощает многие действия, но легче не станет, так что надо изучать сам движок, а это тоже не простая задача. поэтому выбирайте: физика+декардовая геометрия+алгебра или познавайте ройте 2Dдвижок (их много и бесплатных) . и поверь на слово, в обоих случаях легко не будет
Не нужны никакие "движки".
Просто тупо по формулам программируешь движение.
Учи физику (ускоренное движение) и математику (координаты)
Сергей Ергин
Сергей Ергин
80 500
хм)) ) если проблема именно в гравитации, то для этого движок не нужен.. . Гравитация считается у нас формулой F=G*m*M/R^2... а ускорение формулой a=F/m ...потому ускорение можно расчитать формулой a=G*M/R^2. А потом разнести это ускорение по двум координатам (разделить на x, y) не составляет труда.. . ax=a*dx/l; ay=a*dy/l; где dx - расстоение между объектом и точкой притяжения по x, ay - расстояние между ними же по y, l - полное расстояние между объектом и точкой гравитации (то есть длина отрезка между ними) . Всё, ускорение посчитали.. . Теперь считаем расстояние, которое будет пройдено за один кадр (одно обновление экрана и данных).. . а это как помним s=v0+(at^2)/2 (так считаем по x и по y отдельно).. . расстояние посчитали - можно наконец-то переместить объект.. . но теперь надо посчитать v0 по x, и v0 по y для следующего кадра (ведь скорость изменилась при ускорении) : v = v0+at; (так для x и y отдельно) . Всё :) около 10-15 строчек кода и гравитация готова (разумеется с небольшой погрешностью, но учитывая скорость обновления она просто мизерна.. . что бы её избежать надо уже считать интегралы, а это сложно, да и производительность снизится) . так что для такого движок не нужен.. . движок обычно пользуют для более сложных конструкций.. . например для 3d игр, где логики много: столкновение, движение, прыжки, загрузка моделей, отображение моделей (кстати только это можно несколько дней писать. . пробовал.. . текстуры так и не осилил, времени не хватило) и т. д.
Алексей Дудов
Алексей Дудов
42 952