|
3D-программирование Вопросы, касающиеся программирования 3D мира |
23.03.2009, 00:00
|
#1
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Чет я не врубился...
Народ,такая проблема:
мне нужно в функции обновления игрока в игре пистолет держать,вот функция:
Вот[code]Function update_user() pistol = LoadMesh("Data\Levels\Level1\Gamer\gun.3ds") PositionEntity pistol,0,0,50 u# = 70 TurnEntity camera,MouseYSpeed(),0,0 TurnEntity user,0,-MouseXSpeed(),0 If KeyDown(30) Then MoveEntity user,-0.1,0,0 If KeyDown(32) Then MoveEntity user,0.1,0,0 If KeyDown(17) Then MoveEntity user,0,0,0.1 If KeyDown(31) Then MoveEntity user,0,0,-0.1 MoveMouse GraphicsWidth() *0.5,GraphicsHeight()*0.5 If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0 End Function [/code]
как его перед собой двигать????
подскажите!
|
(Offline)
|
|
23.03.2009, 00:04
|
#2
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: Чет я не врубился...
>pistol = LoadMesh("Data\Levels\Level1\Gamer\gun.3ds")
Не грузи меш в каждом кадре.
Для привязки одного объекта к другому юзай наследование. При загрузке меша второй параметр - родитель. Дочерний меш всегда будет двигатся за родителем. Ещё можно юзать EntityParent. Покури справку по этой ф-ции.
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
23.03.2009, 01:48
|
#3
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Чет я не врубился...
MoveMouse GraphicsWidth() *0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0
|
знакомые всё лица.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
23.03.2009, 09:53
|
#4
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Ответ: Чет я не врубился...
Интересно через сколько кадров этот код нагнёт комп!? =)
Ваще делай так:
1. Меш грузим вне цикла! Грузи в глобальную переменную!
2. После загрузки юзай EntityParent(пистолет, чар)
3. Извращаемся с TurnEntity, MoveEntity и суём пистолет чару в руку. Все, все движения руки будут вести за собой этот пистолет!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.03.2009, 12:51
|
#5
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Чет я не врубился...
|
(Offline)
|
|
23.03.2009, 13:28
|
#6
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Чет я не врубился...
Вот теперь другая проблема:
пистолет двигается по горизонтали,а по вертикали не хочет
опять же,код:
Function update_user()
u# = 70
TurnEntity camera,MouseYSpeed(),0,0
TurnEntity user,0,-MouseXSpeed(),0
If KeyDown(30) Then MoveEntity user,-0.1,0,0
If KeyDown(32) Then MoveEntity user,0.1,0,0
If KeyDown(17) Then MoveEntity user,0,0,0.1
If KeyDown(31) Then MoveEntity user,0,0,-0.1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EntityParent pistol,user
ScaleEntity pistol,0.1,0.1,0.1
PositionEntity pistol,0.3,-0.1,0.2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MoveMouse GraphicsWidth() *0.5,GraphicsHeight()*0.5
If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0
End Function
|
(Offline)
|
|
23.03.2009, 15:01
|
#7
|
ПроЭктировщик
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений (для 23 пользователей)
|
Ответ: Чет я не врубился...
Хм..ваще паренти его вне цикла! Если он к чему либо еще у тебя там не парентится. Скейли также вне цикла. И делай PositionEntity также до цикла, ибо в таком виде как сейчас ты после всех манипуляций с юзером снова ставишь пистолет обратно. Вообщем делай его глобальным после загрузки компаную уже все объекты на сцене и только патом уже запускай цикл!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.03.2009, 13:22
|
#8
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Чет я не врубился...
Народ, вот еще что, не пойму где тут ошибка:
Function update_shot()
For w.shot =Each shot
MoveEntity w\entity,0,0,w\speed
w\max_dist = w\max_dist - 1
If w\max_dist<=0
FreeEntity w\entity
Delete w
ElseIf EntityCollided(w\entity,wall_type)
End
FreeEntity w\entity
Delete w
EndIf
Next
End Function
а то выстрел пролетает через стену и все!
|
(Offline)
|
|
25.03.2009, 01:08
|
#9
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Чет я не врубился...
Проблема решается очень просто: нужно использовать команды
ShotThroughTheWalls False
SetAutoCollisions True
Для работы этих команд потребуется Blitz3D 2.0, который можно скачать с офф. сайта.
З.Ы. Включи моск. Ковырять твой код никто не станет, учись сам искать причины ошибок и устранять их.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.03.2009, 01:49
|
#10
|
ПроЭктировщик
Регистрация: 23.09.2007
Сообщений: 126
Написано 11 полезных сообщений (для 16 пользователей)
|
Ответ: Чет я не врубился...
Для работы этих команд потребуется Blitz3D 2.0, который можно скачать с офф. сайта.
|
Эт на каком сайте 2я версия? о_О
В поисковике нету.
Она точно уже вышла?
|
(Offline)
|
|
25.03.2009, 01:59
|
#11
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Чет я не врубился...
В смысл поста похоже никто не врубился
Blitz3D 2.0 - это призрак коммунизма, баян из баянов
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
25.03.2009, 18:53
|
#12
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Чет я не врубился...
Та-ак...товарищи...еще один вопрос...
я создал fps но у меня вместо ботов шарики...как вставить туда анимированые модели?а то я вставляю MD2 и пули пролетают сквозь бота!!!!! а меш не знаю как анимировать!...подскажите че мне делать???
|
(Offline)
|
|
25.03.2009, 19:13
|
#13
|
Разработчик
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений (для 470 пользователей)
|
Ответ: Чет я не врубился...
Mark Castle
гугли по командам
CreateAI("описание модели со всеми характеристиками через запятую")
.................................................. ...............................
.................................................. ...............................
идиотииизм... goto HELP
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.03.2009, 19:07
|
#14
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Чет я не врубился...
кстати ка изменять скорость мыши?
|
(Offline)
|
|
26.03.2009, 21:47
|
#15
|
|
Ответ: Чет я не врубился...
ввести коефицент скорости и домножать на него, или вводить психотропные средства пользователю
|
|
|
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:05.
|