Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Чистые коллизии в GLScene   Найти похожие ветки 

 
!Trinix ©   (2005-10-23 19:14) [0]

Помогите, пожалуйста. Решил поучаствовать в конкурсе "скроллер". Так как размер дистрибутива аж 1,5 Мб, то работал в GLScene. На данный момент отработал уже весь код, но есть одна тупая проблема. Для соприкосновения с бонусами использую следующий код:
[code]
 if  ((Object1.Name=DCPlayer.Name)and(Object2.Name=PN.BrillPower.Name)) then begin
   pow := true;
   PN.BrillPower.Visible := False;
   PN.kolobok.Scale.Scale(1.5);
 end;
 if ((Object1.Name=DCPlayer.Name)and(Object2.Name=PN.BrillJump.Name)) then begin
   jump := true;
   PN.BrillJump.Visible := False;
   jumpStreght := jumpStreght*2;
 end;
[/code]
Здесь две ошибки:
1) Брилы становятся невидимыми, но по прежнему идет события столкновения с ними (это я сам смогу решить).
2) Когда я сталкиваюсь с каким-нибудь брилом, то идет обработка событий, для всех брилов. Т. е. взял бонус прыжка и начал не только прыгать, но и еще в полтора раза вырос, что с этим сделать?


 
Antonn ©   (2005-10-23 19:20) [1]


> Решил поучаствовать в конкурсе "скроллер".

молодец, я тоже поучавствую:)
в ГЛСцене вообше не шарю, но попробую:
PN.BrillPower.Name и PN.BrillJump.Name разные имена?
случайно в одном и том же месте не лежат ли 2 бонуса (один в другом)?
возможно где то еще обработка идет, может begin..end не в том месте проставлен?


> Брилы становятся невидимыми, но по прежнему идет
> события столкновения с ними (это я сам смогу решить).

можно координату сменить, пусть за картой сидит:)


 
!Trinix ©   (2005-10-23 19:21) [2]

Ок координату, я после этого сообщения сменил, а вот с тем, чтобы ничто ничего не задевало я хорошо позаботился.


 
Fosgen   (2005-10-23 20:52) [3]

1. Вообще-то надо не координату менять, а ставить CollisionIndex или CollisionGroup (сейчас не помню точно) меньше 0. Тогда объект исключается из обработки коллизий. Невидимость не предотвращает столкновения, несмотря на таковое описание в доке.
2. А у тебя случаем эти самые "брилы" не прокси объектом созданы? Просто прокси-объект рассматривается как единый объект. И лично я имел сложности при обработке столкновений с прокси ввиду того что попадание объекта в суммарный объем прокси-объектов вызывает столкновения.
Ко всему прочему - не ясно а как у тебя отличаются по имени эти самые "брилы"?



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
2-1146655809
VitV
2006-05-03 15:30
2006.05.21
Не знаю как назвать...


4-1140617138
Eugem
2006-02-22 17:05
2006.05.21
Программно отследить активность определенного процесса


2-1146213563
Новенький
2006-04-28 12:39
2006.05.21
Копия фрейма в приложении


2-1146985807
vasilii
2006-05-07 11:10
2006.05.21
Опять про StringGrid


4-1141220906
Начинающий10
2006-03-01 16:48
2006.05.21
Сворачивание формы