меню


Автор Сообщение

бывалый
Группа: Участники
Сообщений: 36
Добавлено: 28-08-2017 18:40
Есть ли способ определения нажатия на спрайт или картинку ?
или как сделать меню в игре то есть кнопки и так д...

Big Boss
Группа: Администраторы
Сообщений: 719
Добавлено: 28-08-2017 22:09
Встроенного способа нет, но делается это очень просто. При нажатии кнопки определяешь, попадают ли координаты курсора в прямоугольную область, занимаемую спрайтом:

mouseInSprite = (mouse_x > spriteX) and (mouse_x < spriteX + spriteWidth) and (mouse_y > spriteY) and (mouse_y < spriteY + spriteHeight)

В Xtreme3D позиция спрайта находится в его центре, так что spriteX и spriteY рассчитываются так:

spriteX = ObjectGetPositionX(sprite) - spriteWidth / 2
spriteY = ObjectGetPositionY(sprite) - spriteHeight / 2

На сайте есть, кстати, готовый пример меню, но он для старой версии движка - могу портировать на новую, если нужно.

Для круглых кнопок можно рассчитывать расстояние от курсора до центра спрайта и сравнивать с радиусом кнопки.

 

Offtop.ru © 2003