Показать сообщение отдельно
Старый 27.09.2005, 18:30   #42
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Вот что сделал:

1. Кубики расставлялись криво, стенки стояли криво. В итоге казалось, что все нормально.
Надо сдвигать все кубики на (-5) по оси Z, а они сдвигались на (+5). Стенки не помню как были, но тоже подровнял как надо. (Это в функции fnLoadLevel())

2. Функция обработки взятия бонуса работала неправильно: там была проверка коллизии игрока с бонусами, а надо бонуса с игроком, поэтому при взятии ОДНОГО бонуса удалялись ВСЕ. Переделал ее, но не менял коллизии, так как пришлось бы делать полный перебор всех бонусов, чтобы узнать, какой же взял игрок.

3. Сделал создание бонусов внутри пробиваемых кубиков.
F5 - увеличение количества бомб (зеленый)
F6 - увеличение радиуса разлета осколков (красный)
F7 - увеличение скорости движения игрока (синий)

4. Функция fnDestroyField() удаляла только кубики. Добавил в нее удаление Бомб, Осколков, Противников 1го типа (других-то нема пока) и Бонусов.

5. Добавил новое поле в тип "Кибики" и тип "Бонус1" - Field nomerX, nomerZ. Это позиция кубика, но не на поле, а в массиве что ли.
Еще в другие типы добавил поля, по коду должно быть понятно все...

6. Скорость полета осколков сделал независимой от количества ФПС.
Также и для игрока, и для противников.

7. Радиус разлета осколков задается числом и не зависит от того, сколько времени прошло с момента взрыва бомбы.
Размер кубиков 10х10х10, если нам надо сделать радиус разлета в 2 кубика, то задаем его |рад = 20| и все.

8. Сделал поворот противника в сторону свободного прохода без дерганья. Но с противниками есть косяки - они на половину влазят в стены.
И в кубики после колизии со стеной...
Тип колизии у противников сделал BOX.
Какая-то глючная колизия стала с Box'ом, а если радиус, то в узкие щели пытаются лезть, и круги наворачивают, если пролезут (когда игрок рядом с кубиком, и противник в него врезается...)

9. Сделал создание противников в случайном свободном месте.

10. Написал комментарии в местах, которые могут вызвать затруднения при чтении кода (все, что новое добавил, с комментариями, старое - местами только добавил).
(Offline)
 
Ответить с цитированием