|
Проекты на Blitz3D Обсуждение будущих проектов, демок, набор команды и т.п. |
18.03.2006, 11:27
|
#121
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Блин! нет ничего хуже, чем когда тебя игнорируют!
Это тонкий намек на то, что мне можно удалять тему и забить на бомбера? :'((
|
(Offline)
|
|
18.03.2006, 13:25
|
#122
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
2) Есть баги, которые трудно мне исправить, то если кто-нить из форума великодушно сможет разобраться, то я буду только рад!
Описание:
Сейчас игра запускается в режиме "случайное расставление пробиваемых кубиков"
Так вот: Если попытаться клавишей f2-f6 (любой из них) добавить приз на игровую локацию, игра полностью зависнет.
При этом если загрузить карту с кубиками, то бага не происходит и призы добавляются отлично.
Что нужно: Сделать так, что бы при добавлении приза на локацию, не происходило зависание игры.
Пока что все! очень надеюсь, что мне помогут с этим вопросом
|
Если ты про это, то тут тебе НИКТО не в состоянии помоч.
Это примерно то же самое. что :
Я варю борщ, а он гад очень невкусный выходит. Что мне делать ?
Где-то ты накосячил в коде, а вот где - только тебе искать.
__________________
|
(Offline)
|
|
18.03.2006, 14:14
|
#123
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Ладно! С багом помутю что-нить! А как реализовать (я даже представить не могу) хождение игрока не на 1 клетку (при нажатии клавиши вперед) а сразу на 5 или на 10 (при этом что бы это мягко было)
|
(Offline)
|
|
18.03.2006, 15:45
|
#124
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Покажи кусок кода, который у тебя двигает на одну клетку
__________________
|
(Offline)
|
|
18.03.2006, 15:49
|
#125
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Function fnUpdatePlayer(spd#=1)
;for each прееделать так
; движение игрока
KEY_MOVE_LEFT = KeyHit(75)
KEY_MOVE_UP = KeyDown(72)
KEY_MOVE_RIGHT = KeyHit(77)
KEY_MOVE_DOWN = KeyDown(76)
If (KEY_MOVE_UP=1)
MoveEntity player\obj,0,0,spd#
End If
If (KEY_MOVE_LEFT=1 )
TurnEntity player\obj,0,90,0
End If
If (KEY_MOVE_RIGHT=1 )
TurnEntity player\obj,0,-90,0
End If
If (KEY_MOVE_DOWN=1)
MoveEntity player\obj,0,0,-spd#
End If
Как такого перепещения на "клетку нет" ! просто движение!
|
(Offline)
|
|
18.03.2006, 16:39
|
#126
|
Знающий
Регистрация: 07.09.2005
Сообщений: 238
Написано 2 полезных сообщений (для 2 пользователей)
|
не уверен, но может надо сделать spd#=5 или скока там надо...
|
(Offline)
|
|
18.03.2006, 17:58
|
#127
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Меняй значение spd#
или делай так:
If (KEY_MOVE_UP=1)
For i=1 to step_player
MoveEntity player\obj,0,0,spd#
Next
End If
step_player - количество шагов
__________________
|
(Offline)
|
|
18.03.2006, 20:21
|
#128
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Originally posted by tormoz@18.3.2006, 16:58
Меняй значение spd#
или делай так:
If (KEY_MOVE_UP=1)
For i=1 to step_player
MoveEntity player\obj,0,0,spd#
Next
End If
step_player - количество шагов
|
Не совсем понял где логика!
А где же мы используем step_player?
|
(Offline)
|
|
18.03.2006, 20:26
|
#129
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Originally posted by axel186@18.3.2006, 15:39
не уверен, но может надо сделать spd#=5 или скока там надо...
|
Так не получится! Игрок должен двигаться не быстро, а плавно...
|
(Offline)
|
|
18.03.2006, 22:07
|
#130
|
|
в твоем методе перемещения нельзя задать точное перемещение на определеную позицию (чето не то сказал)
если игрок просто двигается - делай как щас
а когда надо двигатся на определеное количество
то доежай до ближайшого блока тем методом которым ты щас пользуешся и дальше двигай игрока на растояние к примеру половину длины кубика, до тех пор пока он не доедет до той точки в которой должен остановится
|
|
|
18.03.2006, 22:30
|
#131
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Originally posted by jimon@18.3.2006, 21:07
в твоем методе перемещения нельзя задать точное перемещение на определеную позицию (чето не то сказал)
если игрок просто двигается - делай как щас
а когда надо двигатся на определеное количество
то доежай до ближайшого блока тем методом которым ты щас пользуешся и дальше двигай игрока на растояние к примеру половину длины кубика, до тех пор пока он не доедет до той точки в которой должен остановится
|
Если честно, но ничего не понятно (почти)
То есть я должен при нажатии "вперед" передвигать игрока на "фиксированную" координату... ?
|
(Offline)
|
|
19.03.2006, 00:20
|
#132
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
KEY_MOVE_LEFT = KeyHit(75)
KEY_MOVE_UP = KeyHit(72)
KEY_MOVE_RIGHT = KeyHit(77)
KEY_MOVE_DOWN = KeyHit(76)
If* KEY_MOVE_UP=1 AND mov=0
For i=1 To step_player
* mov=10 ; чем выше число, тем больше плавность движения
Next
EndIf
If mov>0
* MoveEntity player\obj,0,0,spd#
* mov=mov-1
End If
*
|
step_player количество клеток
spd подбери, чтобы при step_player=1 игрок двигался на одну клетку
Если и сейчас непоймешь, то ничем помочь больше не могу
Обрати внимание на KEY_MOVE_UP = KeyHit(72)
__________________
|
(Offline)
|
|
24.03.2006, 21:19
|
#133
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Originally posted by tormoz@18.3.2006, 23:20
KEY_MOVE_LEFT = KeyHit(75)
KEY_MOVE_UP = KeyHit(72)
KEY_MOVE_RIGHT = KeyHit(77)
KEY_MOVE_DOWN = KeyHit(76)
If* KEY_MOVE_UP=1 AND mov=0
For i=1 To step_player
* mov=10 ; чем выше число, тем больше плавность движения
Next
EndIf
If mov>0
* MoveEntity player\obj,0,0,spd#
* mov=mov-1
End If
**
|
step_player количество клеток
spd подбери, чтобы при step_player=1 игрок двигался на одну клетку
Если и сейчас непоймешь, то ничем помочь больше не могу
Обрати внимание на KEY_MOVE_UP = KeyHit(72)
|
Все никак не доберусь что бы напечатать:
Не идет так,tormoz, моя мечта это keyDown а при keyhit устанешь ее клацать. Насчет мягкости - ничего твой вариант, но хотелось бы "мягче", а mov в твоем коде отвечает не за мягкость, а за количество пройденных клеток (разумеется чем >mov тем > пройдено и нем мягче! Но это не совсем то, что мне нужно!
Есть ли еще варианты как можно сделать мягкое передвижение игрока на 1 клетку с использованием keydown ?
|
(Offline)
|
|
25.03.2006, 01:24
|
#134
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ты хочешь и рыбку съесть и на трамвае уехать
Для плавного передвижения с помощью кейдовн по клеточному уровню нужно написать намного более сложный код.
Просто заюзай несколько дополнительных переменных.
Контролируй нахождение игрока на клетке(центре) и введи переменные плавного набора скорости и остановки
__________________
|
(Offline)
|
|
25.03.2006, 17:15
|
#135
|
ПроЭктировщик
Регистрация: 17.02.2006
Сообщений: 144
Написано 13 полезных сообщений (для 36 пользователей)
|
А не проще по вектору перемешать объек из клетки в клетку?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:18.
|