Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 16.09.2007, 20:58   #1
jimon
 
Сообщений: n/a
TileMap и матрица трансформации

стандартный TileMap не потдерживает матрицу трансформации
т.е. ему пофиг на SetScale и SetRotation
мне пофиг на SetRotation но далеко не пофиг на SetScale
потому я зделал свою функцию-пародию на TileMap
вот она

Function jTileImage( image:TImage,x#=0,y#=0,frame%=0 )
	Local iframe:TImageFrame=image.Frame(frame)
	If Not iframe Return
	
	Local scx#,scy#
	GetScale(scx,scy)
	
	Local w# = image.width * scx
	Local h# = image.height * scy
	
	Local ox#,oy#,vw%,vh%,vox%,voy%
	GetViewport (vox,voy,vw,vh)
	ox = vox - w + 1
	oy = voy - h + 1
	
	Local px#,py#
	GetOrigin(px,py)
	
	px = x + px - image.handle_x * scx
	py = y + py - image.handle_y * scy
	
	Local fx# = px - Floor(px)
	Local fy# = py - Floor(py)
	Local tx# = Floor(px) - ox
	Local ty# = Floor(py) - oy

	If tx>=0 tx=tx Mod w + ox Else tx=w - -tx Mod w + ox
	If ty>=0 ty=ty Mod h + oy Else ty=h - -ty Mod h + oy

	Local vr# = vox + vw + w
	Local vb# = voy + vh + h

	Local iy# = ty
	While iy <= vb
		Local ix# = tx
		While ix <= vr
			iframe.Draw 0,0,image.width,image.height,ix+fx,iy+fy
			ix = ix + w
		Wend
		iy = iy + h
	Wend

End Function
в принципе добавив еще пару строчек кода - ее мона
сразу вставить в Max2D.mod

но для етого надо написать так чтобы она и с Rotation работала
у меня ща нету времени разбиратся где там на косинус надо
множить ... потому кто тут добрый ? напишите
чтобы размер картинки менялся не только по scx .. но и по углу
тоесть при 0 градусов размер картинки один к одному
при 45 размер увеличивается на sqr(3) / 2
при 90 размер один к одному

в общем в максе еще много чего можно править
 
Ответить с цитированием
Старый 18.09.2007, 13:48   #2
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Re: TileMap и матрица трансформации

jimon, я уже где-то видел эту функцию )))
(Offline)
 
Ответить с цитированием
Старый 18.09.2007, 18:41   #3
jimon
 
Сообщений: n/a
Re: TileMap и матрица трансформации

dimanche13
ну разве что ты смотрел исходники моей игры
а видеть ее можно в mod/brl.mod/max2d.mod
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица уже близко alcoSHoLiK Болтовня 2 17.01.2008 15:49
МАТРИЦА:ужос с эффектами. Stalnoy_Gvozd' Проекты на Blitz3D 14 13.06.2007 13:19


Часовой пояс GMT +4, время: 00:42.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com