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

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

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

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 21.09.2015, 16:24   #1
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
изображение на полигон 2d

Возможно ,вам пригодиться ...
код под спойлером :
;
Global x#[3] , y#[3] ,Dragging=False

Global grx,gry
Global mx#,my#,mz%
x[0] = 100 : y[0]=100
x[1] = 40 : y[1]=120
x[2] = 170 : y[2]=150

Graphics 800,600,32,2
SetBuffer BackBuffer()
grx = GraphicsWidth()/2 : gry = GraphicsHeight()/2
; ВАШЕ изображение 
mm = LoadImage ("D:\blitz\numberscroll.bmp")
width =ImageWidth(mm ) : height =ImageHeight(mm )

ClsColor 128,128,128
While Not KeyHit(1)
Cls 
mx = MouseX() : my = MouseY() : mz = MouseZ()

For i=0 To 2
	If Dist( x[i], y[i], mx, my )<10  And Dragging=False  Then
		Rect x[i] - 4,y[i]-4,8,8,0
		DragPoint=i
		If MouseDown(1) Then Dragging=True
	EndIf 
If MouseDown(1)=False And Dragging=True Then
	Dragging=False
EndIf

If Dragging Then
	x[DragPoint]=MouseX()
	y[DragPoint]=MouseY()
EndIf 	
Next

Color 28,28,28

tt# = 0.7/Dist( X[1], Y[1], X[2], Y[2] )
ss# =0.7/Dist( X[1], Y[1], X[0], Y[0] )
s# = 0.0


LockBuffer ImageBuffer(mm)
LockBuffer BackBuffer()
While s< 1
	t# = 0.0
	While t< 1 
		xxx# =( (width-2.7) *t)+0.7
		yyy# =((height-2.7)*s )+0.7
		
		If xxx>= 0 And xxx<GraphicsWidth() And yyy >= 0 And yyy < GraphicsHeight()
			pix = ReadPixel (xxx,yyy,ImageBuffer(mm))
		EndIf 
		
		xx# = x[0] + s*(x[1]-x[0]) + t*(x[2]-x[1])
		yy# = y[0] + s*(y[1]-y[0]) + t*(y[2]-y[1])
		
		If xx=> 0 And xx<GraphicsWidth() And yy => 0 And yy < GraphicsHeight()
			WritePixel xx,yy,pix
		EndIf 
		t = t + tt
	Wend
	s = s + ss
Wend	
UnlockBuffer BackBuffer()
UnlockBuffer ImageBuffer(mm)


Color 0,255,0
For k = 0 To 2
Rect x[k]-2,y[k]-2,4,4,1
Next
;Text 20,20 , mt+"   "

Flip 
Wend
End 


Function Dist#( X1#, Y1#, X2#, Y2# )
	Return ((X1 - X2)*(X1 - X2) + (Y1 - Y2)*(Y1 - Y2))^0.5 
End Function
__________________
Мой проект здесь
(Offline)
 
Ответить с цитированием
Старый 21.09.2015, 21:33   #2
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,018
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: изображение на полигон 2d

И чё это? И медии нет.
(Offline)
 
Ответить с цитированием
Старый 21.09.2015, 21:35   #3
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: изображение на полигон 2d

И чем это лучше TFormImage?
(Offline)
 
Ответить с цитированием
Старый 22.09.2015, 04:04   #4
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
Ответ: изображение на полигон 2d

лучше , хуже , зависит от кривости рук .
__________________
Мой проект здесь
(Offline)
 
Ответить с цитированием
Старый 22.09.2015, 06:09   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: изображение на полигон 2d

Рассчитывал увидеть построение полигона из вершин, умножение координат вершин на обратную матрицу камеры. А вижу в коде работу с бекбуфером.
Это, конечно, хорошо, что топикстартер разобрался и написал такое решение.
Но тормознуто это, господа! Даже простецкий GUI на этом будет серьёзной проблемой производительности!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 22.09.2015, 16:47   #6
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
Ответ: изображение на полигон 2d

полностью согласен ! Данный "пример " просто проба мысли (идеи) .
__________________
Мой проект здесь
(Offline)
 
Ответить с цитированием
Старый 22.09.2015, 19:51   #7
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: изображение на полигон 2d

не уходи от ответа, чё ты вообще хотел этим сказать, пацан ты кто ваще па жизни
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=2247&dateline=1418298  527
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Phantom (22.09.2015)
Старый 23.09.2015, 04:01   #8
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
Ответ: изображение на полигон 2d

__________________
Мой проект здесь
(Offline)
 
Ответить с цитированием
Старый 23.09.2015, 10:53   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: изображение на полигон 2d

Сообщение от Артем Валерьевич Посмотреть сообщение
не уходи от ответа, чё ты вообще хотел этим сказать, пацан ты кто ваще па жизни
Чё за наезды э?

__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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