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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Полезные функции

Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново...

Ответ
 
Опции темы
Старый 09.05.2013, 12:03   #1
polopok
ПроЭктировщик
 
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений
(для 71 пользователей)
Scan Line 2D

Сделал для сканирования массива точек (а ля камера вида )

Dim f(900,900) :Dim h(900,900)

Graphics 800,600,32,2 
SetBuffer BackBuffer() 
CamFOV# = 60.0 / 2.0    ; Angle de vue de la camera (default = 90)
ViewLine = 300        ; Taille de la ligne des plans
x=200 :y=200

For b= 200 To 400 Step 5
	 For a= 200 To 400 Step 5
		f(a,b)=Rand(0,1)
	;	h(a,b)=Rand(0,1)
	Next
Next

While Not KeyHit(1) 
  mx# = MouseX()
  my# = MouseY()
If KeyDown(205) Then x=x+1
If KeyDown(203) Then x=x-1
If KeyDown(208) Then y=y+1
If KeyDown(200) Then y=y-1
If MouseDown(1) Then x=mx : y=my

Cls 
For b= 200 To 400 Step 5
	 For a= 200 To 400 Step 5
		LockBuffer BackBuffer()
		
			If f(a,b)=1 Then WritePixel a,b,$666666,BackBuffer()
		UnlockBuffer BackBuffer()	 
	Next
Next

  CamFOV# =(180+ATan2(x-mx,y-my))

Oval x-3,y-3,6,6,1
For angle#= 30 To -30 Step -.1
	p=20
	
	While p<200
	 p=p+1
  p1x# = x+p*Sin(CamFOV-angle#)
  p1y# = y+p*Cos(CamFOV-angle#)

  h1=0
		LockBuffer BackBuffer()
			
			WritePixel p1x,p1y,$0000ff,BackBuffer()
		If f(p1x,p1y)=1	
				
				WritePixel p1x,p1y,$00ff00,BackBuffer()
				WritePixel 300+ p1x,300 ,$00ff00,BackBuffer() ; (y-h(p1x,p1y))
				h1=1
		EndIf 
		UnlockBuffer BackBuffer()
				
	If h1=1 Then Exit 
	Wend 
Next

Flip 
Wend 
End
__________________
Мой проект здесь
(Offline)
 
Ответить с цитированием
Старый 18.05.2013, 18:53   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Scan Line 2D

C'est génial que vous avez partagé avec nous !
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 18.05.2013, 20:59   #3
Arles
ПроЭктировщик
 
Аватар для Arles
 
Регистрация: 24.07.2009
Сообщений: 142
Написано 52 полезных сообщений
(для 103 пользователей)
Ответ: Scan Line 2D

Il me semble que vous êtes un développeur et que ce jeu aussi!
__________________
(Offline)
 
Ответить с цитированием
Старый 19.05.2013, 05:50   #4
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Scan Line 2D

Код очень тормознутый и поэтому бесполезный.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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