Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.041 c
2-1146036331
valdemot
2006-04-26 11:25
2006.05.21
компилятор


2-1146469288
Golik
2006-05-01 11:41
2006.05.21
Как присвоить значения полю в Таблице ?


6-1129636325
Cosinus
2005-10-18 15:52
2006.05.21
Как отследить активность определенного порта?


15-1145770978
GrayFace
2006-04-23 09:42
2006.05.21
Assebler: call near ptr - актуально ли слово "near"?


2-1146805456
Id
2006-05-05 09:04
2006.05.21
Backup/restore




   Наверх