Воскресенье, 28 Апреля 2024, 00:32

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » denis79513 [9]
Результаты поиска
denis79513Дата: Вторник, 05 Апреля 2011, 14:42 | Сообщение # 1 | Тема: Выбор игрового движка.
был не раз
Сейчас нет на сайте
Я тоже о нем думал, но потом прочел о нем: В OGRE нет встроенной поддержки сети, звука и многих других функций. Тогда все же остановлюсь на нем, благо для этих целей есть готовые библиотеки.

Добавлено (05.04.2011, 14:42)
---------------------------------------------
А что насчет Unity 3d?

denis79513Дата: Вторник, 05 Апреля 2011, 05:57 | Сообщение # 2 | Тема: Выбор игрового движка.
был не раз
Сейчас нет на сайте
Здравствуйте, обращаюсь к профессионалам, знающим основные движки.
Мне нужен игровой движок со следующей хар-кой:
-бесплатное распространение с исходным кодом
-взаимодействие с библиотеками и движками (physx)
-естественно это 3В
-наличие русскоязычного сайта поддеержки
-язык программирования С++
denis79513Дата: Пятница, 15 Октября 2010, 15:14 | Сообщение # 3 | Тема: Работа с таймером
был не раз
Сейчас нет на сайте
Делаю в blitz3D вот код таймера:
Code

If MilliSecs() > timer + 250  
x#=x#+0.25
timer=MilliSecs()
EndIf

Мне нужно, чтобы когда нажимаю на кнопку, тацмер начинал работать, когда отпускаю он обнулялся и с следующим нажатием запускался занова, с нуля. Пока я добился, только чтобы когда я нажимаю, он отсчитывает, я отпускаю, он замирает, нажимаю, он продолжает с того месте, откуда остановился.
Вот код:
Code
    
If KeyDown(200) Then  
If MilliSecs() > timer + 250  
x#=x#+0.25
timer=MilliSecs()
EndIf
Else
EndIf  

Помогите пожалуйста сделать, чтобы при каждом нажатии он начинал отсчитывать с нуля.

Добавлено (15.10.2010, 15:14)
---------------------------------------------
Все, уже не нужно, сам сделал:)
Кому нужно:

Code

timer=MilliSecs()  
Repeat
If KeyDown(200) Then  
If MilliSecs() > timer + 250  
x#=x#+0.25
timer=MilliSecs()
EndIf
Else
x#=0
EndIf  
denis79513Дата: Пятница, 15 Октября 2010, 13:16 | Сообщение # 4 | Тема: Столкновение объектов в blitz3d
был не раз
Сейчас нет на сайте
Почитал это:

Созданные объекты при движении не будут взаимодействовать друг с другом, так как не установлены для них столкновения. Объекты будут проходить насквозь друг друга, поэтому чтобы избежать таких ситуаций, используют столкновения.

Установка режима столкновений. Используется команда Collisions, которая имеет множество параметров. Первый параметр - тип объекта (целое значение от 1 до 999), который будет сталкиваться. Второй параметр - тип объектов (целое значение от 1 до 999), об которые будут сталкиваться. Третий параметр - метод столкновения: 1 - сфера к сфере, 2 - сфера к многограннику, 3 - сфера к кубу. Четвёртый параметр - реакция сталкиваемого объекта: 1 - объект останавливается при столкновении, 2 - объект скользит при столкновении, 3 - объект скользит с трением.

Общий вид команды:
Collisions тип1,тип2,метод,реакция

Чтобы объекты могли сталкиваться, нужно им применить тип (значение от 1 до 999):
EntityType перем,значение

Но тут типы объектов, это многогранник, сфера, куб, а у меня машина (3D модель) и понятно что она не относится ни к многограннику, ни к сфере, ни к кубу, а если выбрать один из этих параметров, то она не подходит вплотную к другим объектам, в общем выглядит не реалистично, и в углы иногда проникает, проходит.

denis79513Дата: Четверг, 14 Октября 2010, 16:55 | Сообщение # 5 | Тема: Подправить кусок кода
был не раз
Сейчас нет на сайте
Найти ошибку и сиправить, на экране отображается просто цифра 10 и при нажатии на кнопку ничего не меняется
Code

cpl=10
If KeyDown(203) Then
cpl=cpl-0.4
Else
EndIf  
Text 20,20, cpl
denis79513Дата: Четверг, 14 Октября 2010, 11:37 | Сообщение # 6 | Тема: Движение камеры в игре (blitz3d basic)
был не раз
Сейчас нет на сайте
Я имею следующее, машина едек, к ней сверху, сзади прикреплена камера, во время поворота машины она слегда отклоняется в бок, как сделать, чтобы когда отпускаешь клавишу поворота, камера возвращалась в свое положение сама, на место?
denis79513Дата: Среда, 13 Октября 2010, 18:26 | Сообщение # 7 | Тема: Физика в Blitz3d
был не раз
Сейчас нет на сайте
Изучаю язык и парралельно пытаюсь создать мини иру, вот попал в тупик, нужен физич. движок, знаю что это такое, как работать должно, но практики нет, а во всех туториалах, например как в этом http://blitz3d.at.ua/publ/uchebnik_po_physx_wrapper_dlja_blitz3d/6-1-0-10 самые важные моменты не понятные новичкам, упущены, например все ссылки на врапперы физикса битые, на дрова тоже, решил я скачать newton, как в этой статье, http://blitz3d-portal.ucoz.net/publ/1-1-0-4 скачал файлы как написано в директорию userlibs, вставил всего одну строку, самую первую phWorldCreate(plane%) и уже ошибка вылетает и не дает работать дальше, что делать, с чего начать, или как то проще реализовать инерцию, гравитацию, трение?
Вылетает ошибка Not enough parameters
denis79513Дата: Среда, 13 Октября 2010, 18:18 | Сообщение # 8 | Тема: Найти ошибку в небольшом коде Blitz3D (Basic)
был не раз
Сейчас нет на сайте
Большое спасибо.
denis79513Дата: Среда, 13 Октября 2010, 13:09 | Сообщение # 9 | Тема: Найти ошибку в небольшом коде Blitz3D (Basic)
был не раз
Сейчас нет на сайте
Я начал изучать язык Blitz3D так как он не требует серьезных навыков, прост в изучении и дает неплохие возможности, превым делом, решил реализовать управление автомобилем, как обычно создается тело (машина (cub)), плоскось (plane), и освещение с камерой.
В моем случае, Матина, то есь куб имеет переменную car.
Самое начало, делаем так, как обычно:
Code

  If KeyDown(200) MoveEntity car,0,0,.1 (клавиши вверх - движение вперед)
  If KeyDown(208) MoveEntity car,0,0,-.1 (клавиша вниз- движение назад)
  If KeyDown(203) TurnEntity car,0,1,0 (клавиша влево - поворот влево)
  If KeyDown(205) TurnEntity car,0,-1,0 (клавиша вправо - поворот вправо)

С передним ходом все OK. нажимаем влево, вперед - движется налево и вперед.
Но дело в том, что возникают проблемы с задним ходом, то есть если игрок нажимает влево и назад, то машина должна двигаться влево, назад, а здесь она движется вправо, назад.
Поэтому я решил ввести переменную, которая будет стоять вместо градусов поворота. Например Cr:
Code

If KeyDown(200) MoveEntity car,0,0,.cr

Тогда нам нужно прописать, что если игрок нажимает (вперед) + (влево или вправо) то cr=1
а если он нажимает (вназадеред) + (влево или вправо) то cr=-1 (то есть в обратную сторону).
Полностью мой код теперь выглядит так:
Code

Graphics3D 1280,1024,32,1

SetBuffer BackBuffer()

cr%=5
lit=CreateLight()
car=CreateCube()
EntityColor car,0,255,0
cam=CreateCamera(car)
plan=CreatePlane(10)

EntityColor plan,0,0,255

PositionEntity plan,0,-1,5
PositionEntity cam,0,3,-7

If  
  KeyDown(208)
And
  KeyDown(203)  
Or
  KeyDown(205)
Then  
cr=5
Else  
cr=-5
EndIf

Repeat
  If KeyDown(200) MoveEntity car,0,0,.1
  If KeyDown(208) MoveEntity car,0,0,-.1
  If KeyDown(203) TurnEntity car,0,1,0
  If KeyDown(205) TurnEntity car,0,-1,0
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End

Помогите найти ошибку, при попытке запуска, вылетает: "Expecting Expression" заранее спасибо!
Форум игроделов » Записи участника » denis79513 [9]
  • Страница 1 из 1
  • 1
Поиск:

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