|
Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново... |
09.05.2013, 12:03
|
#1
|
ПроЭктировщик
Регистрация: 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
|
Зануда с интернетом
Регистрация: 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
|
ПроЭктировщик
Регистрация: 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
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Scan Line 2D
Код очень тормознутый и поэтому бесполезный.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:06.
|