Вообще-то я не программист, но нужда заставила... начальство сказало - надо сделать одну штуку... и изъе...вайся как хочешь...
Прошу помощи по следующим вопросам:
1) Как лучше организовать открытие двери, чтобы открывалась как при подходе к ней, а после прохода закрывалась, не защемляя игрока, так и при нажатии на кнопку рядом с дверью (кстати дверь слеплена из спрайтов - чтобы не грузила систему).
2) Пытался организовать выбор предмета (допустим стола, лампы на столе), однако не работает... Хотел сделать чтобы при однократном нажатии ЛКМ на предмете он изменял бы свой цвет, при повторном - возвращался бы первоначальный. При нажатии ПКМ - снимается весь выбор. Для определения того, в каком состоянии находится предмет (до или после выбора) использовал GetBrushTexture (GetEntityBrush (Entity),1).
Вот кусок функции, которые я использовал: Function MouseTest(); функция MouseTest-реализация выбора и нажатия клавиши мыши
Local mx#,my#
mx#=MouseX()
my#=MouseY()
Local pick
pick=CameraPick (camera,mx#,my#); выбирает объект, находящийся в области просмотра камеры и координатах mx и my (в данном случае указателя мыши)
If pick<>0 Then ;если указатель мыши находится на объекте
If MausHitR Then; если нажата правая клавиша мыши
DeleteTex PickedEntity();
EndIf
If MausHitL Then
SelectBox PickedEntity()
EndIf
EndIf
End Function
Function SelectBox(Entity)
If Entity=0 Then Return 0
DebugLog "SelectBox"
Local twice=0
If GetBrushTexture (GetEntityBrush (Entity),1)=True Then
DeleteTex Entity
twice=True
EndIf
If twice=True Then Return 0
BrushTexture BrushLamp,TexLampGreen,0,1: PaintMesh Entity,BrushLamp
Return True
End Function
Function DeleteTex (DelEntity); красим одним цветом===========================================================================
BrushLamp=CreateBrush(): BrushTexture BrushLamp,TexLampRed: PaintMesh DelEntity,BrushLamp
End Function
Не пойму, почему когда снимаю текстуру с объекта, то оа какая-то не понятная, меняется во времени... и ее нельзя сравнить с текстурой, которуя я на предмет изначально накладывал...
Может кто подскажет, как это все попроще реализовать?