Форум » Вопрос-Ответ » О спрайтах и гамаке » Ответить

О спрайтах и гамаке

ййууййуу: Вопросы по гамаку - как найти начальные и конечные x,y спрайта? например чтобы сделать скриншот который будет снимать только один спрайт (объект), т.е. строго в его координатах так же это можно использовать в gmphysics чтобы автоматически писать все vertex'ы

Ответов - 12

D(e)N: Давай подумаем над теорией. =) Допустим у нас есть спрайт 32*32 с начальными координатами (0,0). Эта точка будет совпадать с координатами объекта, для которого он установлен. Значит чтобы найти конечные координаты спрайта нужно к начальным x,y прибавить длину и ширину спрайта. Все просто)

ййууййуу: забыл уточнить. ширина и длинна может во время игры изменятся, и надо в момент нажатия кнопки сделать скриншот

ййууййуу: т.е. мне надо найти уже измененную ширину и высоту уже не спрайта а изображения


D(e)N: Уточни еще немного) Ширина и высота спрайта меняется при помощи функции или просто путем замены спрайта?

ййууййуу: Редактор изображений. изображение изменяется при помощи функций (растягиваение, увеличение изображения и т д), или загружается из папки путем замены спрайта. надо чтобы автоматически определялось место для скриношота, т.е. края спрайта

sanchez: чет меня тока щя осенило, можно умножить начальные координаты на xscale и yscale

ййууййуу: дак как эти начальные кординаты то найти?

ййууййуу: я нашёл способ обведения изображения (нашёл начальные и конечные х и у) ща попробую перевести это в x,y,width,heigh.. последние два слова настараживают

D(e)N: ййууййуу пишет: дак как эти начальные кординаты то найти? D(e)N пишет: Эта точка будет совпадать с координатами объекта, для которого он установлен. ййууййуу пишет: последние два слова настараживают А чего тут страшного то?) Ширина и высота)

ййууййуу: в draw a rectangle я написал: x1 tsprite.x-tsprite.sprite_width/2 y1 tsprite.y-tsprite.sprite_height/2 x2 tsprite.x+tsprite.sprite_width/2 y2 tsprite.y+tsprite.sprite_height/2 т.е. так как х и у в центре, я просто разделил пополам

ййууййуу: все сделал) screen_save_part ('thisone.bmp', tsprite.x-tsprite.sprite_width/2, tsprite.y-tsprite.sprite_height/2, tsprite.sprite_width, tsprite.sprite_height)

D(e)N: Молодцом) Так это будет графический редактор типа пэинта?



полная версия страницы